2019年时给博客配置了Travis CI 自动构建,然后前几天准备发个文章,写完反手一个git push
博客就崩了。
Hexo
首先你的Hexo必须是已经在本地环境下配置好的,能正常运行hexo g
。
生成&配置秘钥
使用ssh-keygen
生成一对秘钥
ssh-keygen -t ed25519 -C "Hexo Deploy Key" -f github-deploy-key
直接回车,不要设置密码
在 GitHub 上打开仓库-> Settings -> Secrets
添加一个Secrets,Name
填HEXO_DEPLOY_KEY
,Value
把上面生成的私钥粘贴进去
打开仓库-> Settings -> Deploy keys
添加一个Key,Title
填HEXO_DEPLOY_PUB
,Key
把上面生成的公钥粘贴进去,勾选下面的Allow write access
准备文件
创建一个空的分支,从原有的hexo源文件目录下拷贝这些文件&文件夹:
- scaffolds
- source
- themes
- _config.yml(hexo的)
- package.json
修改配置文件
为了防止以后由于长时间未维护,主题或hexo更新导致的博客炸掉,所以配置主题为submodule。
git submodule add https://github.com/JoeyBling/hexo-theme-yilia-plus themes/yilia
在_config.yml的最后添加一项theme_config:
参考:https://blog.xxwhite.com/2020/blog-ci.html#%E4%B8%BB%E9%A2%98%E5%AD%90%E6%A8%A1%E5%9D%97%E5%8C%96
配置Workflow
创建一个新文件:.github/workflows/deploy.yml
1 | name: Hexo Deploy |
由于使用hexo d
部署会让git的commit看起来很丑,所以把部署写进脚本deploy.sh
(放在新建分支的根目录下)
1 | #!/bin/bash |
加个Badge
参考:https://docs.github.com/cn/actions/managing-workflow-runs/adding-a-workflow-status-badge
https://github.com/<OWNER>/<REPOSITORY>/workflows/Hexo%20Deploy/badge.svg
完
https://github.com/Disappear9/disappear9.github.io/tree/source
欢迎参考
- 本文作者: Disappear9
- 本文链接: https://thinkalone.win/hexo-on-action.html
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!