博客也用上了私有库和 Github Actions 部署

给博客整上了 Github Actions。最简单的做法似乎是用公开仓库托管源文件,设置页配置上 Action 并托管 Github Pages。我博客仓库里有一堆杂七杂八的草稿,所以尝试了下私有仓库托管源文件,配置 Action 编译并上传至 Github Pages 托管仓库。

源码仓库新建:.github/workflows/deployment.yml,配置为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
name: Publish Hexo to gitpage
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: main
name: Install Node.js
actions/setup-node@v3
13.14.0
"https://registry.npmjs.org"
- name: Install dependencies
run: |
npm install -g hexo-cli
npm install
- name: Generate Hexo site
run: |
hexo clean
hexo generate
- name: Deploy to page repo
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{ secrets.ACCESS_TOKEN }}
external_repository: hqweay/hqweay.github.io
PUBLISH_BRANCH: master
PUBLISH_DIR: ./public

比起网上的教程多了安装 Node 和设置时区。安装 Node 是因为用的 hexo 版本有点老,哎,能用懒得升级;设置时区是因为没设置的情况下每篇文章的创建时间都被推迟(还是提前来着)了一天。可能是我博文的配置不标准,所以时间跟服务器相关了吧。

其中 secrets.ACCESS_TOKEN ​是个人访问令牌 (PAT),需要获取并设置:

  • 获取个人访问令牌 (PAT):

  • 设置 Actions Secrets:

如果不需要部署到另一个仓库,secrets.ACCESS_TOKEN ​可以换成 secrets.GITHUB_TOKEN

GITHUB_TOKEN ​是自动生成的令牌,无需手动配置,可以用于推送到当前仓库。