使用Github Actions自动部署Hexo
前言
之前博客一直用的都是Jekyll
框架,在使用Github Pages
进行部署的时候并不需要自己手动配置,不过在换了Hexo
主题之后,每次写完了博客除了要push
一次commit
到博客的内容分支上,还需要自己手动deploy
一次。虽然也不会很麻烦,不过用Github Actions
来完成这个过程也要更顺畅一些。原本觉得这个需求应该很简单,直接在Actions
上执行一次hexo g -d
的指令就好,结果因为Github
在HTTPS
上对Token
的验证,以及Hexo
自带的one-command-deployment
存在BUG,折腾到凌晨两三点才发现,并且通过issues
里面提供的修改链接使用oauth
进行url
验证的方法还是失败了,最后花了半小时改成了ssh
密钥验证很轻松就完成了。。下面为对Hexo
的Actions
的脚本的一个备份
脚本备份
配置文件
1 |
|
整个脚本大致流程为
检测到
hexo
的内容分支有push
之后,checkout
到内容分支。判断是否有
nodejs
的modules
缓存。- 如果检测到有效缓存则跳过安装步骤,直接进行下一步。
- 如果没有检测到有效缓存则对模块进行部署
创建
id_rsa
密钥文件,并将仓库中DEPLOY_KEY
的secret
写入密钥文件,并且配置github.com
的信任和全局帐号邮箱对
hexo
进行generate & deploy
操作删除写入的密钥文件
使用Github Actions自动部署Hexo
https://halc.top/p/7bfa5e14