2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FirebaseHostingに自動デプロイ出来るようにする

Last updated at Posted at 2025-04-15

はじめに

CI/CDの実現にかなり苦戦したので、手順とどこで詰まったのかを残しておこうと思います

実現したかったこと

  • push時、GithubActionsから自動でビルド・デプロイされること

前提

  • Firebaseのプロジェクトは作成済みであること
  • 今回は手動デプロイが出来る段階から開始しています(以下の記事を参照)

手順

認証周りの設定

  • GoogleCloudでサービスアカウントを作成
    • FirebaseDevelop管理者のロールを割り当てる
  • 作成したサービスアカウントの鍵をFIREBASE_KEYとしてGithubに登録

こちらの記事の2までを参考に進めました

GithubActionsのワークフローを設定

  • ワークフローを記載する
  • FIREBASE_TOKENを作成し、Githubに登録する

プッシュしてみる

  • buildとdeployが行えているかGithubActionsで確認

 2025-04-16 1.23.09.png

詰まったポイント

1. Googleのアカウントが途中で切り替わっていた

  • FirebaseDevelop管理者のアカウントではなく、オーナーロールのGoogleアカウントでログインしていることになっていた

 2025-04-16 1.31.37.png

Error: Failed to get Firebase project study-record-****. Please make sure the project exists and your account has permission to access it.

ログインし直して解消しました

2. ワークフローの--project=でFirebaseのプロジェクトIDではなくプロジェクト名を設定していた

// プロジェクト名であるstudy-recordを設定してた故のエラー
Error: Failed to get Firebase project study-record. Please make sure the project exists and your account has permission to access it.

3. 非推奨となった古い書き方をしていた

ワークフローでfirebase deploy --token $FIREBASE_TOKENと記載すると、今は推奨していないよと警告が出てdeployが失敗しました

書き方を変えて解消しました

- name: Deploy to Firebase
  uses: joinflux/firebase-tools@v9.16.0
  with:
    args: deploy --project=study-record-*** --only hosting
  env:
    FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?