移行
ラズパイのDocker
で自分用のWikiを動かしていたが、GitHub Pagesの誘惑に負けたので移行する。
GitHub Pagesの公開用のリポジトリと、ソース用のリポジトリを分けて作成しているが、個人的にこの構成が好きだからで、特に深い意味はありません。
手順
- Username.github.io のリポジトリを作成する
- 上で作成したリポジトリにDeploy Keyを設定する
- 次にHugoなどの .md ファイルを置くリポジトリを作成する
- 1で作成したリポジトリにPushするためにSecret Keyを設定する
- GitHub Actionを設定し終了
※ 2, 4で設定したKeyはMacOS上でssh-keygen
で作成したKeyを設定する。1には公開鍵(.pub
)、3には秘密鍵を設定する。
Github Action
Hugo公式のHost on GitHubを参考に作成する。
name: github pages
on:
push:
branches:
- main # Set a branch to deploy
paths:
- 'pages/**'
pull_request:
jobs:
deploy:
runs-on: ubuntu-20.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: 'latest'
extended: true
- name: Build
run: hugo
working-directory: ./pages
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
external_repository: WhaleMountain/WhaleMountain.github.io
publish_branch: main
publish_dir: ./pages/public
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
cname: whalem.net
paths
を設定することで、設定したパス(pages/**
)に変更があった場合にGitHub Actionが動くようになる。(参考: GitHub Actionsのワークフロー構文)
また、ソース用のリポジトリに旧構成のバックアップがあるため、Build時にHugoのソースがあるディレクトリにworking-directory
で移動する。