GitHub Actions deploy Hexo blog
新建分支或 git 库存放 Hexo 源文件
折腾一下把 Hexo 网站用 GitHub Actions 进行自动化部署,基本流程是这样的
- master:主干是原来的静态网站资源,也就是 hexo 编译后 public 下的文件;
- hexo-blog:新建一个分支,放 hexo 的源文件,包括配置、主题和 markdown 文本等。
流程就是我们写 markdown 文章后,就推送到 hexo-blog 分支,触发 GitHub Actions 进行自动化部署编译,并把编译完的资源推送到 master 分支,这就完成一次 Hexo 博客的更新。
这里用的是新建 hexo-blog 分支放 Hexo 源文件,新建一个 git 库也是可以,当然 GitHub Actions 也是在新建的 git 库上。
配置公私密钥
因为涉及代码的 ssh 推送等交互,所以需要设置私钥和公钥。这里因为是用一个 git 库两个分支来做的,所以公私钥都在当前 git 库设置,如果用的是新建 git 库存放 Hexo 源文件,那私钥要放在 Hexo 源文件 git 库,公钥放在静态网站库上。
生成密钥
1 | ssh-keygen -t rsa -b 4096 -C "[email protected]" -f github-deploy-key -N "" |
生成两个文件:
github-deploy-key.pub
公钥github-deploy-key
私钥
打开 https://github.com/xxx/xxx.github.io/settings/keys 填写公钥,xxx github 用户名
Title
输入HEXO_DEPLOY_PUB
(自定义名称,后面自动化部署脚本用到,一致就行)Key
输入生成的github-deploy-key.pub
的内容- 勾选
Allow write access
用于推送分支
打开 https://github.com/xxx/xxx.github.io/settings/secrets/actions 填写私钥(新建git库方式私钥在新建git库上设置)
Name
输入HEXO_DEPLOY_PRI
Value
输入生成的github-deploy-key
的内容
自动化部署脚本
在 hexo-blog 分支根目录下创建 .github 文件夹再进去创建 workflows 文件夹再创建 HexoCI.yml 文件
编辑 HexoCI.yml 文件,内容找个别人的抄来用,https://blog.csdn.net/xinruodingshui/article/details/105499161#t4
1 | name: CI |
构建结果
Actions 里可以看到每次构建流程,失败的可以进去查看日志定位问题。
链接优化
安装 hexo-abbrlink 插件, package.json 中
1 | "hexo-abbrlink": "^2.2.1", |
配置文件
1 | url: https://zguishen.com |
不同组合链接形式不同。