github action 自动部署 hexo
githuab 出 action 功能已经很久了,但是我一般写代码都不写测试用例,一直也就没用上,最近一段时间天天写博客,每次发表都要分别更新 blog 源码仓库和 github page 仓库源码。用上 github action,只要 push 到 blog 源码仓库,就会触发 action 中的 push 钩子更新 github page 仓库。
ssh 密钥
我其实已经有 ssh 密钥了,我还是另外生成一个专门做 hexo action 的 ssh 密钥,谁知道 github 哪天会被黑客获取了私有信息。
生成 ssh 密钥
1 |
|
运行后需要输入两次相同的密码,如果不想输入,直接回车就行。我把私钥的名字命名为id_rsa_x
,公钥就是id_rsa_x.pub
。私钥我们设置在 blog 源码仓库,公钥设置到 github page 仓库。下面我们就一步一步来设置 github。
配置 blog 仓库
在 blog 仓库的Settings->Sectrets
页面找到New resposity secret
按钮,点击后,把~/.ssh/id_rsa_x
的所有内容都贴到里面去,命名为HEXO_DEPLOY_PRIVATE_KEY
报错即可。
接下来在与Settings
同一栏的Actions
中编辑一个 action。
点击set up a workflow yourself
,把下面的内容贴进去,把<你的用户名>
和<你登录的 email>
都改成对应的值(不包含<>
),保存即可
1 |
|
这样就配置好了。
配置 github page
在 github page 仓库的Settings->Deploy keys
页面点击Add deploy key
按钮
把之前生成的~/.ssh/id_rsa_x.pub
的内容填到里面去,记得把Allow write access
的小勾点上。
这样就设置好所有的配置,赶快去发表一篇博客看看,不用再执行hexo clean; hexo g -d
,action 也能帮你发布博客。