引言
为了方便可以使用 GitHub Actions 实现博客自动发布,将静态博客页面部署到多个服务器上,比如 GitHub Pages,Gitee pages 以及云服务器上。本文介绍使用 GitHub Actions 实现将 Hexo 博客自动编译并发布到 GitHub Pages 上。
SSH 秘钥
生成秘钥用于仓库间的推送:
ssh-keygen -f hexo-deploy-key -t rsa -C "youremail@something.com" |
以上命令会在当前路径下生成:秘钥 hexo-deploy-key
和公钥 hexo-deploy-key.pub
,然后分别添加到对应的文件中。
页面文件仓库(即 yousazoe.github.io): 在
Settings > Deploy keys
中添加Deploy key
,内容为hexo-deploy-key.pub
文件内容,同时勾选Allow write access
选项博客源文件库:在
Settings > Secrets
中添加一个 Secret,名称为DEPLOY_KEY
,内容为hexo-deploy-key
文件内容。后续在 Workflow 中通过名称DEPLOY_KEY
使用这个密钥
Workflow 配置
在博客源文件库中新建文件 .github/workflows/deploy.yml
,配置内容如下:
# This is a basic workflow to help you get started with Actions |
Webhook 部署
- Copy the Deploy Webhook URL.
You can find your site’s deploy Webhook under the “Settings” tab.
- Paste the Deploy Webhook URL on “Payload URL” in your Github
Github > Settings > Webhooks > “Payload URL”
- Click “Add webhook”