このブログは静的サイトジェネレータである、 Hugo で生成した静的ファイルを Firebase hosting にデプロイする仕組みとなっている。月々のランニングコストは、独自ドメインの維持費用だけなので安い。
簡単に記事を公開できるよう、Markdown で記事を書いて、 リモートリポジトリの main ブランチに対して、プッシュすると、静的サイトのビルド及びデプロイ処理が行われるようにした。Github Actions の Workflow ファイルは以下のようになっている。
name: Deploy to Firebase Hosting
'on':
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.79.1'
- uses: actions/checkout@v2
- run: make build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: "${{ secrets.GITHUB_TOKEN }}"
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_BLOG_BB2A8 }}'
expires: 30d
channelId: live
projectId: { Firebase のプロジェクト ID}
テーマの選定や、カスタマイズに時間を要したが、Hugo でブログを作るのは、とても簡単で、Firebase にデプロイするところまで含めて、1.5 日程度で完成した。