Open3

GitHub Actions で secrets の内容をファイルに書き出す際、改行コードが含まれる場合は base64 encode/decode する

coedocoedo

VueFire を使用したアプリケーションを GitHub Actions でデプロイしていたら、Firebase Admin 用のサービスアカウントの取り扱いが分からず試行錯誤…

結論的には、改行コードが含まれるため base64 で処理するとよい

coedocoedo

サービスアカウント作成後 JSON ファイルの内容を base64 encode して GitHub Secrets に登録する

クリップボードにコピー

base64 -i service-account.json | pbcopy

GitHub Secrets に登録

settings/secrets/actions

FIREBASE_ADMIN_SERVICE_ACCOUNT

末尾の改行文字は消す

GitHub Actions を修正

デコードしてからファイルに書き出す

      - name: Build for hosting
        run: npm run build
      - name: Set up Firebase Admin for SSR service account
        run: |
          echo -n ${{ secrets.FIREBASE_ADMIN_SERVICE_ACCOUNT }} | base64 --decode > .output/server/service-account.json
        env:
          FIREBASE_ADMIN_SERVICE_ACCOUNT: ${{ secrets.FIREBASE_ADMIN_SERVICE_ACCOUNT }}
coedocoedo

試行錯誤中の僕へひとこと

base64 するのを面倒がらずにとっととやりましょう