使用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