Github Actions 简介
Github Actions 可以很方便实现 CI/CD 工作流,类似 Travis 的用法,来帮我们完成一些工作,比如实现自动化测试、打包、部署等操作。当我们运行 Jobs 时,它会创建一个容器 (runner),容器支持:Ubuntu、Windows 和 MacOS 等系统,在容器中我们可以安装软件,利用安装的软件帮我们处理一些数据,然后把处理好的数据推送到某个地方。
前提
1.您已经创建了hexo博客 2.您已经注册了github的账户 3.您已经创建了github项目并上传了hexo源码
创建
在项目根目录下创建.github/workflows/main.yml
1. 点击此处申请 Personal access tokens (classic)
2.在Settings
-secrets and variables
-Actions
下设置HEXOBLOG
为上一步得到的Personal access tokens
3.可以把以下内容粘贴进去
run-name: Deploy
on:
push:
branches:
- main
release:
types:
- published
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
ref: main
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: "18.x"
- name: Install Hexo
run: |
npm install hexo-cli -g
- name: Cache Modules
uses: actions/cache@v1
id: cache-modules
with:
path: node_modules
key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}}
- name: npm Install
run: |
npm install
- name: Generate
run: |
hexo clean
hexo generate
hexo deploy
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{ secrets.hexoblog }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: ./public
commit_message: ${{ github.event.head_commit.message }}
实现的功能
在hexo项目main
分支有更新时,会自动更新仓库下分支gh-pages