3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Github Actions✕Firebase】リモートマシン上でfirebase deployを実行時に警告が表示される。

Last updated at Posted at 2024-08-01

はじめに

Github Actions上でのFirebaseのデプロイ自体は成功するがリモートマシン上に警告が表示されたので対応しました。

問題

以下の警告がGithubのリモートマシン上に表示される。

⚠  Authenticating with `FIREBASE_TOKEN` is deprecated and will be removed in a future major version of `firebase-tools`.
Instead, use a service account key with `GOOGLE_APPLICATION_CREDENTIALS`: 

大まかに訳すと、「FIREBASE_TOKEN」を使った認証は非推奨だからやめてね、代わりに「GOOGLE_APPLICATION_CREDENTIALS」を使った認証の方法にしてね、という感じ。
警告発生時点でのymlの設定は以下の通り。

autoDeproy.yml(抜粋)
      - name: Deploy to Firebase Hosting
        run: |
          ./node_modules/.bin/firebase deploy
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
          FIREBASE_CLI_EXPERIMENTS: webframeworks

以下のドキュメントを参考にしましたが、どうやらこの方法だとセキュリティ的にNGのようです(トークンが漏れたら第3者に好き放題される懸念)。

解決方法

ググったらGCPのサービスアカウントで適切な権限を設定する方法があるとのことなので、その通りに修正。

autoDeploy.yml(修正後)
autoDeploy.yml
name: Auto Deploy

on: push

jobs:
  deploy:
    runs-on: ubuntu-latest
    env:
      VITE_SUPABASE_URL: ${{secrets.SUPABASE_URL}}
      VITE_SUPABASE_ANON_KEY: ${{secrets.SUPABASE_ANON_KEY}}
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Set up Node.js
        uses: oven-sh/setup-bun@v2

      - name: Install dependencies
        run: bun install

      - name: Run build
        run: bun run build

      - name: Install firebase-tools
        run: bun install --save-dev firebase-tools

      - name: Decode Firebase service account key
        run: |
          echo "${{ secrets.FIREBASE_KEY }}" | base64 -d > ./firebase-key.json
          echo "GOOGLE_APPLICATION_CREDENTIALS=${{ github.workspace }}/firebase-key.json" >> $GITHUB_ENV
      - name: change space
        run: ./node_modules/.bin/firebase use ${{ secrets.FIREBASE_PROJECT_ID }}

      - name: Deploy to Firebase Hosting
        run: |
          ./node_modules/.bin/firebase deploy
        env:
          FIREBASE_CLI_EXPERIMENTS: webframeworks

      - name: delete GOOGLE_APPLICATION_CREDENTIALS
        run: rm $GOOGLE_APPLICATION_CREDENTIALS
        if: ${{ always() }}

↑のようにファイルを修正後、pushすることで警告が消えました!素晴らしい…

おわりに

出来たからOK、動いたからOKという考えではなく、警告が出たときはちゃんと対応しようね!(自戒)

参考

JISOUのメンバー募集中

プログラミングコーチングJISOUではメンバーを募集しています。
日本一のアウトプットコミュニティでキャリアアップしませんか?
気になる方はぜひHPからライン登録お願いします!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?