🐟
Firebaseにデプロイするときに認証トークンを使うのはやめよう(GitHub Actions)
こんにちは。地図パズル製作所の都島です。先週は Firebase Summit があったみたいですね。Firestore での Count の追加には、びっくりしました!これで、だいぶ実装しやすくなります。ということで今回も Firebase の話になります。
地図パズル製作所では GitHub Actions で Firebase にデプロイしているのですが、最近 Action の実行結果を眺めていたら、こんなことが表示されていました。
⚠ Authenticating with `--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`: https://cloud.google.com/docs/authentication/getting-started
認証トークンを使ってデプロイするのは非推奨になりました、と書かれていますね。今まではこんな感じで、デプロイアクションでは認証トークンを使っていました。
name: Deploy
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
env:
working-directory: ./app
steps:
# リポジトリのチェックアウト
- name: Checkout
uses: actions/checkout@v3
# Node.js 16 の初期設定
- name: Set Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: '16'
# npm install
- name: npm install
run: npm install
working-directory: ${{env.working-directory}}
# Firebase ツールをインストール
- name: Install Firebase Tools
run: npm install firebase-tools -g
# Build して、Firebase へデプロイ
- name: Build and Deploy to Firebase
run: npm run build && firebase use production --token ${{ secrets.FIREBASE_TOKEN }} && firebase deploy --token ${{ secrets.FIREBASE_TOKEN }}
working-directory: ${{env.working-directory}}
これを、こんな感じに変えたら、ワーニングは出なくなりました。
name: Deploy
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# リポジトリのチェックアウト
- name: Checkout
uses: actions/checkout@v3
# Node.js 16 の初期設定
- name: Set Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: '16'
# npm install と npm run build
- name: npm install and build
run: npm install && npm run build
working-directory: ./app
# Firebase へデプロイ
- name: Deploy to Firebase
uses: w9jds/firebase-action@v11.9.0
with:
args: deploy
env:
GCP_SA_KEY: ${{ secrets.GCP_SA_KEY }}
PROJECT_PATH: ./app
PROJECT_ID: ${{ secrets.PROJECT_ID }}
GitHub の Secrets に GCP_SA_KEY
と PROJECT_ID
を保存しておいてくださいね! GCP_SA_KEY は、GCP Console でデプロイ用サービスアカウントを作って、キーを発行して、それを登録するんだったと思います。もしかしたら、Base64 に変換してから登録したかもしれません。ちゃんと覚えていなくてすみません!
ということで、今日は Firebase でデプロイするときに、認証トークンを使うのはやめよう、という話でした。
最後にいつも通り地図パズル製作所の宣伝です!地図パズル製作所はいろいろな地図パズルを作って公開しています。最近は航空写真の地図パズルもできました!ぜひ挑戦してみてください!!
Discussion