当文章较多时,Hexo生成较慢,比较耗时,而且还需要 手动发布到 gh-pages,过程比较繁琐,而 GitHub Actions 作为 GitHub推出的免费CI/CD服务,正好可以用来解决这一问题,我们只需将源代码推送到GitHub,由Action自动帮我们构建Hexo,并完成发布到 GitHub Pages,不仅可用于博客,也可用于自动发布在线文档。
在当前项目 Hexo 根目录新建
.github/workflows/deploy-hexo.yml
,内容如下:
name: Build and Deploy Hexo
on:
push:
branches:
- master
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@master
- name: Use Node.js 12
uses: actions/setup-node@v2-beta
with:
node-version: '12'
- name: Install Pandoc
run: |
sudo apt-get install pandoc
- name: Install and Build 🔧
run: |
npm install -g hexo-cli
npm install
hexo clean
hexo generate
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@3.7.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
FOLDER: public
补充:
${{ secrets.GITHUB_TOKEN }}
其中 GITHUB_TOKEN
为内置变量,无需在secrets手动添加
参考:Authentication in a workflow - GitHub Docsgh-pages
为目标deploy分支,master
为当前触发分支,如果你的开发分支为 main
,你需要更改为 main
,
并且,你可能需要做 BASE_BRANCH
设置,如下:
注意:最后一行,设置了开发源分支为 main
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@3.7.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
FOLDER: public
BASE_BRANCH: main
hexo-renderer-pandoc
来处理 Markdown 中的 LaTex数学公式,那么无需下方此步骤:- name: Install Pandoc
run: |
sudo apt-get install pandoc
GitHub: GitHub Pages Deploy Action
git commit -m 'test'
git push
进行一次 git push 即可触发 Actons,接下来,查看日志:
如上图,构建成功,右上角点击还可以下载日志,查看原日志。
注意:建议,先执行
hexo d
发布一次,以便创建gh-pages
分支
查看仓库,切换到 gh-pages 分支,如下可见构建情况:
前往 GitHub首页,即动态页,可以看见一次 来自 github-actions bot
的推送:
感谢帮助!