博客也用上了私有库和 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
32
33
34
35
name: Publish Hexo to gitpage
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: main
#- uses: szenius/set-timezone@v1.2
#with:
#timezoneLinux: "Asia/Shanghai"
#- name: Install Node.js
#uses: actions/setup-node@v3
#with:
#node-version: 13.14.0
#registry-url: "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):

    • 登录 GitHub 账户,进入个人设置页面。
    • 点击 “Personal access tokens” 选项卡。
    • 点击 “Generate new token” 按钮。
    • 为令牌命名,并选择适当的权限。
    • 点击 “Generate token” 按钮。
    • 复制令牌值。
  • 设置 Actions Secrets:

    • 在要推送到的仓库中,进入 “Settings” 页面。
    • 点击 “Secrets and variables” 选项卡。
    • 点击 “Actions” 选项卡。
    • 点击 “New secret” 按钮。
    • 为密钥命名,例如 “ACCESS_TOKEN”。
    • 将第一步获取到的令牌值粘贴到密钥值字段中。
    • 点击 “Add secret” 按钮。

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

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