GitHub Actions 实现 Hexo 自动部署
Hexo
首先我们先要在本地确保 Hexo 是可以正确运行的,比如:
hexo clean |
确认 _config.yml 文件中有类似如下的 GitHub Pages 配置:
deploy: |
注意:请将 repository 修改为你自己的仓库地址。
生成秘钥
ssh-keygen -t rsa -b 4096 -C "Hexo Deploy Key" -f github-deploy-key -N "" |
当前目录生成两个文件:
- github-deploy-key —— 私钥
- github-deploy-key.pub —— 公钥
GitHub配置秘钥
把私钥放到我们存放 Hexo 原始文件的代码仓库里面,用于触发 Actions 时使用;
把公钥放到 GitHub Pages 对应的代码仓库里面,用于 Hexo 部署时的写入工作
配置私钥
- 首先在 GitHub 上打开保存 Hexo 的仓库,访问 Settings -> Secrets,然后选择 New secret;
- 名字部分填写:HEXO_DEPLOY_KEY,注意大小写,这个后面的 GitHub Actions Workflow 要用到;
- 在 Value 的部分填入 github-deploy-key 中的内容。
添加公钥
- 接下来我们需要访问存放网页的仓库,也就是 Hexo 部署以后的仓库,访问 Settings -> Deploy keys;
- 按 Add deploy key 来添加一个新的公钥;
- 在 Title中输入:HEXO_DEPLOY_PUB 字样,当然也可以填写其它自定义的名字;
- 在 Key 中粘贴 github-deploy-key.pub文件的内容。
注意:一定要勾选 Allow write access 来打开写权限,否则无法写入会导致部署失败。
创建 Workflow
在 Hexo 的仓库中创建一个新文件:.github/workflows/auto_deploy.yml,文件的内容如下:
name: auto deploy # workflow name |
总结
以上就是 GitHub Actions 自动部署 Hexo 到 GitHub Pages 的方法。