现在我们写一篇博客再发布,需采用如下步骤

1
2
hexo new ${文章名}
hexo clean && hexo g && hexo d

通常,为了保证我们的markdown文件不丢失,还需要将markdown文件上传至一个私人仓库
需要维护两个仓库,比较麻烦

需求:操作一个仓库(源代码仓库),另外一个(页面仓库)自动更新
方案:利用GithubAction,监控源代码仓库,如果有代码提交,自动执行

1
hexo clean && hexo g && hexo d

参考教程:使用 Github Action 自动部署

按照此教程来,基本可以完成,但可能会出现两个问题:

Q1:
Github Action 顺利触发,但是报错 “No gulpfile found”
A1:
删除autodeploy.yml中生成静态文件部分的gulp命令
删除npm install gulp-cli -g #全局安装gulp
我这里没有用到bilibili番剧更新功能,把 hexo bangumi -u #bilibili番剧更新 也删掉

Q2:
可以同步部署,但是导出的页面文件是空的
检查发现,源代码仓库中themes里的 butterfly 文件夹是空的
A2:
把主题项目当成一个submodule,备份后删除themes下的主题文件夹,执行以下命令,下载。
Notes:把下面链接和文件名名字替换成自己使用的主题的

1
git submodule add \https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly

在autodeploy.yml文件中添加一个步骤,去初始化更新submodule(我这里放在了检查分支后面)

1
2
3
4
steps:
- name: Submodule Update
run: |
git submodule update --init --recursive