この記事は, GitHub Actions のテストも兼ねた投稿です.
何気に去年から部長やってます Forell (@F0rell) です. このブログが長らく更新されてなかったのと, 自分が何もやってないのもあったので動かしてみました.
さて, URL からわかる通り, このブログは GitHub Pages を用いて公開されています (該当リポジトリ: https://github.com/lc-tut/lc-tut.github.io).
サイトを構成するために Hugo を用いており, リポジトリでは source ブランチを Hugo を用いてビルドして master に向けて該当ディレクトリ (docs/
) を git subtree
を用いて push することによってページを公開できるようにしております.
しかし, 手動でビルド, master に push するのははっきり言って面倒くさいです (初記事なのに何言ってるんだと思いますが, 大目に見てほしいです).
加えて, やり方が書いてあるといえども, git subtree
という普段 (私が) 使わないコマンドも用いるため, 公開までのハードルが高いです.
そのため, GitHub Actions を使って自動でビルド + デプロイをしたいと考えました.
GitHub Actions とは
かなり雑に言うと GitHub が提供している CI/CD ツールです.
詳しいことはこことかここ見たらいいかと思います. 語れるほどやっているわけではないので URL 貼っつけになって申し訳ないです.
使った Action など
今回使った Action は以下の 3 つです:
また, 今回使用したワークフローは以下のようになります:
name: deploy gh-pages
on:
push:
branches:
- source
jobs:
deploy:
runs-on: ubuntu-18.04
steps:
- name: checkout
uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: "0.76.0"
- name: Build
run: cd blog && hugo
- name: deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./blog/public
publish_branch: master
cname: blog.linux.it.teu.ac.jp
ほぼ peaceiris/actions-hugo@v2
にのっている例と同じです.