前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >GitHub Actions 自动构建Hexo 并发布到 gh-pages

GitHub Actions 自动构建Hexo 并发布到 gh-pages

作者头像
yiyun
发布2022-04-01 16:20:49
发布2022-04-01 16:20:49
1.3K00
代码可运行
举报
文章被收录于专栏:yiyun 的专栏yiyun 的专栏
运行总次数:0
代码可运行

引言

当文章较多时,Hexo生成较慢,比较耗时,而且还需要 手动发布到 gh-pages,过程比较繁琐,而 GitHub Actions 作为 GitHub推出的免费CI/CD服务,正好可以用来解决这一问题,我们只需将源代码推送到GitHub,由Action自动帮我们构建Hexo,并完成发布到 GitHub Pages,不仅可用于博客,也可用于自动发布在线文档。

新建 deploy-hexo.yml

在当前项目 Hexo 根目录新建 .github/workflows/deploy-hexo.yml ,内容如下:

代码语言:javascript
代码运行次数:0
运行
复制
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

补充:

  1. ${{ secrets.GITHUB_TOKEN }} 其中 GITHUB_TOKEN 为内置变量,无需在secrets手动添加 参考:Authentication in a workflow - GitHub Docs
  2. gh-pages 为目标deploy分支,master 为当前触发分支,如果你的开发分支为 main,你需要更改为 main, 并且,你可能需要做 BASE_BRANCH 设置,如下: 注意:最后一行,设置了开发源分支为 main
代码语言:javascript
代码运行次数:0
运行
复制
- 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
  1. 如果你没有使用 hexo-renderer-pandoc 来处理 Markdown 中的 LaTex数学公式,那么无需下方此步骤:
代码语言:javascript
代码运行次数:0
运行
复制
- name: Install Pandoc
      run: |
        sudo apt-get install pandoc

GitHub: GitHub Pages Deploy Action

测试

代码语言:javascript
代码运行次数:0
运行
复制
git commit -m 'test'
代码语言:javascript
代码运行次数:0
运行
复制
git push

进行一次 git push 即可触发 Actons,接下来,查看日志:

如上图,构建成功,右上角点击还可以下载日志,查看原日志。

注意:建议,先执行 hexo d 发布一次,以便创建 gh-pages 分支

查看仓库,切换到 gh-pages 分支,如下可见构建情况:

前往 GitHub首页,即动态页,可以看见一次 来自 github-actions bot 的推送:

参考

感谢帮助!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 新建 deploy-hexo.yml
  • 测试
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档