使用 Github Actions 自动构建部署 Hexo 博客
介绍
这篇文章记录一下使用 GitHub Actions 一步一步实现 Hexo Blog 自动化构建部署到 GitHub Pages 的流程。
GitHub Actions 是类似于 Travis CI 、 Circle CI 这样的持续集成服务, 是由 GitHub 官方推出的持续集成服务,可以帮助我们完成一些自动化测试、打包、部署等操作。
GitHub Actions 中的常见术语:
workflow
表示一次持续集成的过程job
表示构建任务,一个 workflow 可以由一个或者多个 job 组成,可支持并发执行多个 jobstep
一个 job 由一个或多个 step 组成,按顺序依次执行action
每个 step 由一个或多个 action 组成,按顺序依次执行
官方文档:
准备
创建一个 username.github.io
的仓库, username
为自己 GitHub 的用户名,在这个仓库中采用的一个仓库多分支的方式,一个分支存放博客源码,主分支用来存放生成的网站静态资源。
GitHub 秘钥配置
使用命令生成秘钥:该命令会在当前目录下生成两个文件, 分别为公钥 github-deploy-key.pub
和私钥 github-deploy-key
1 |
|
将创建好的 github-deploy-key.pub
文件中的内容复制添加到对应仓库的 Deploy keys 中, Settings / Deploy keys / Add deploy key, 取名为 HEXO_DEPLOY_KEY_PUB
。
将创建好的 github-deploy-key
文件中的内容复制添加到对应仓库的 Secrets 中, Settings / Secrets / New Secret,取名为 HEXO_DEPLOY_KEY_PRI
。
需要注意的是,这里取的名字在 Actions 脚本中通过 ${{secrets.HEXO_DEPLOY_KEY_PRI}}
获取时需要一致。
Github Actions 脚本编写
在仓库的 .github/workflows/
目录下创建一个 hexo-auto-deploy-ci.yml
文件,这个文件名字可以是随意取得。
我的 Actions 脚本配置如下:
1 |
|
运行脚本
现在,只要仓库的 source
分支有代码推送,GitHub 就会创建一个容器来运行这里配置的任务,解放双手,Enjoy It 😃。
- 本文作者:iaosee
- 本文链接:http://iaosee.com/2020/11/02/Use-Github-Actions-to-automatically-deploy-Hexo-Blog/index.html
- 版权声明:本博客所有文章均采用 BY-NC-SA 许可协议,转载请注明出处!