github actions 自动化部署 hexo 博客

Hexo Blog automatic deploy

Preparation

  1. 创建一个私有仓库用于存放 hexo 源码如 blog-source
  2. 创建一个公有仓库用于存放静态资料 (可使用现的 github page 仓库) 如 my-blog
  3. 创建 Github Token

在 scopes 选中 repoworkflow 生成 token

  1. 在私有仓库 blog-source 中 点设置配置 actions secrets 创建一个新的并点 Add secret

Github Actions

  1. 将私有仓库 checkout 到本地 (如果之前存在 git 项目可添加 git remote)
  2. 在 .github 文件夹下创建 workflows 文件夹
  3. 在 workflows 文件夹下创建 hexo-deploy.yml 文件
  4. 配置 hexo-deploy.yml 自动构建参数
    参考 hexo-deploy-github-pages.action 第三方封装

参考配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
name: deploying Hexo project to GitHub pages
on:
push:
branches:
- main # main 分支有 push 行为时就触发这个 action

jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@main

- name: Build and Deploy
uses: theme-keep/hexo-deploy-github-pages-action@master # 使用专门部署 Hexo 到 GitHub pages 的 action
env:
PERSONAL_TOKEN: xxxxx # secret 名
PUBLISH_REPOSITORY: developbiao/developbiao.github.io # 公共仓库,格式:GitHub 用户名/仓库名
BRANCH: gh-pages # 分支,填 gh-pages 就行
PUBLISH_DIR: ./public # 部署 public 目录下的文件

Push and check build deploy

  1. 创建文件或个性文件后 push 到私仓库,观察是否部署成功。
  2. 访问公有静态资源仓库检查 gh-pages 分支是否为最新生成的构建的静态文件。
  3. 在 github page 页中指定 gh-pages 分支为网站目录。

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!