使用 Github Actions 自动化部署 Hexo
2025-01-22 08:19:30 653 字
This post is also available in English and alternative languages.
我使用 Hexo + Github Pages 来写 Blog。每次使用 Hexo 写完一篇文章后,都需要执行 hexo d
,将内容推送到 xxx.github.io
仓库中,比较麻烦。
下面利用 Github Actions 机制,在 git push
到 source 仓库后,自动执行发布。
1. 仓库
xxx.github.io
仓库:存放编译后的静态页面,公有仓库。xxx_source
仓库:存放文章内容文件,私有仓库。
2. 生成公钥
命令行,在本地的 xxx_source
仓库目录中执行以下命令:
1 | ssh-keygen -t rsa -b 4096 -C "$(git config user.email)" -f hexo-ation -N "" |
会在目录下生成公钥和私钥:hexo-action.pub
和 hexo-action
。
3. 配置 Deploy Key
3.1. 在 xxx.github.io 仓库中配置
添加公钥 hexo-action.pub
,Allow write access
勾选。
3.2. 在 xxx_source 仓库中配置
添加私钥 hexo-action
,同时命名为 ACTIONS_DEPLOY_KEY
。
4. 配置 Github Actions
唯一需要修改的地方为部署仓库: external_repository
和提交分支:publish_branch
配置项。
1 | name: Hexo-Build-Pages # 此 Action 的名字 |
5. source 仓库的目录结构
source 仓库大致的目录层级。
这里要注意目录结构,因为没有注意目录层级,浪费了半天时间。
1 | Blog |