このブログの仕組みについて

このブログは静的サイトジェネレータである、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 日程度で完成した。