本文由 简悦 SimpRead 转码, 原文地址 cloud.tencent.com
当文章较多时,Hexo 生成较慢,比较耗时,而且还需要 手动发布到 gh-pages,过程比较繁琐,而 GitHub Actions 作为 GitHub 推出的免费…
当文章较多时,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 push 即可触发 Actons,接下来,查看日志:
如上图,构建成功,右上角点击还可以下载日志,查看原日志。
注意:建议,先执行
hexo d
发布一次,以便创建gh-pages
分支
查看仓库,切换到 gh-pages 分支,如下可见构建情况:
前往 GitHub 首页,即动态页,可以看见一次 来自 github-actions bot
的推送:
感谢帮助!
- 本文作者: yiyun
- 本文链接: https://moeci.com/posts / 分类 - github/github-actions-gh-pages/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!