HUGO|Github Actions|Github Pages
使用方法主要参考了这篇 文章 。在这里我只是提炼一些关键点和遇到的坑。
1. 绑定 SSH Key
如果是两个独立的仓库的,将 Public Key 添加到 <YourName>.github.io
仓库,打开 setting 面板,找到 Deploy keys 选项,Title: Deploy Github Page(看你个人喜好)。Key: Public Key ;将 Private Key 添加到 another repository
仓库,打开 setting 面板,找到 Secrets 选项,Name: ACTIONS_DEPLOY_KEY
(后面会用到)。Value: Private Key 。这里有一个坑,要复制整个 Private Key 的值作为 Value ,不然后面会报错。这是具体的issues
2. 配置 yml
name: Github Pages
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
#with:
#submodules: true # Fetch Hugo themes (true OR recursive)
#fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.71.1'
# extended: true
- name: Build
run: hugo
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
external_repository: YanTree/YanTree.github.io
publish_branch: master #推送的分支
publish_dir: ./public #要推送的文件夹
commit_message: ${{ github.event.head_commit.message }}
注意调整上面 29-32 高亮行的值,ACTIONS_DEPLOY_KEY 对应的是上面 Secret
的 Name ,external_repository
改成你对应的仓库名 <YourName>/<YourName>.github.io
反思
如果是使用 SSH 作为 Token
,在电脑重装系统或者更换电脑的情况下,我们每一次都要重新更新 Deploy keys , Secrets 的值,对于我这种动不动就重装系统的人不太友好😁。所以我新建了一个 Personal access tokens 专门干这件事儿,目前看来是避免了上诉的痛点。本来是打算使用 GITHUB_TOKEN 的,都不要额外配置,但是这个 TOKEN
只适用于同一个仓库,这是具体的 issues,如果你是使用的同一个仓库的话,就可以使用这个功能了。