1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

firebaseerror: firebase: error (auth/invalid-api-key).というエラー

Posted at

はじめに

ローカルではテストが通るのになぜかCIでエラーが出たので解決策を載せます。

問題

ローカルではテストが通るがCIのテストステップで以下のエラーが出る。

firebaseerror: firebase: error (auth/invalid-api-key).

以下エラー時のymlファイルです。

name: Deploy to Firebase

on:
  push:
    branches:
      - main

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Setup Node.js
        uses: actions/setup-node@v2
        with:
          node-version: "18"

      - name: Install dependencies
        run: npm install

      - name: Run build
        env:
          VITE_REACT_APP_FIREBASE_API_KEY: ${{ secrets.VITE_REACT_APP_FIREBASE_API_KEY }}
          VITE_REACT_APP_FIREBASE_AUTH_DOMAIN: ${{ secrets.VITE_REACT_APP_FIREBASE_AUTH_DOMAIN }}
          VITE_REACT_APP_FIREBASE_PROJECT_ID: ${{ secrets.VITE_REACT_APP_FIREBASE_PROJECT_ID }}
          VITE_REACT_APP_FIREBASE_STORAGE_BUCKET: ${{ secrets.VITE_REACT_APP_FIREBASE_STORAGE_BUCKET }}
          VITE_REACT_APP_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.VITE_REACT_APP_FIREBASE_MESSAGING_SENDER_ID }}
          VITE_REACT_APP_FIREBASE_APP_ID: ${{ secrets.VITE_REACT_APP_FIREBASE_APP_ID }}
          VITE_REACT_APP_FIREBASE_MEASUREMENT_ID: ${{ secrets.VITE_REACT_APP_FIREBASE_MEASUREMENT_ID }}
          VITE_SUPABASE_URL: ${{ secrets.VITE_SUPABASE_URL }}
          VITE_SUPABASE_ANON_KEY: ${{ secrets.VITE_SUPABASE_ANON_KEY }}
        run: npm run build

      - name: Run tests
        run: npm test


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

      - name: Deploy to Firebase
        uses: w9jds/firebase-action@master
        with:
          args: deploy --only hosting
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}

原因と解決策

環境変数を渡している箇所が問題でした。firebase authを使った認証周りのテストを書いてるファイルでエラーが出たのでおそらくテストのステップにfirebase authで必要な環境変数が読み込まれていなかったことが原因かと思います。以下のように環境変数をstepsの前にまとめて指定してあげることで無事PASSできました。

name: Deploy to Firebase

on:
  push:
    branches:
      - main

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    env:
      VITE_REACT_APP_FIREBASE_API_KEY: ${{ secrets.VITE_REACT_APP_FIREBASE_API_KEY }}
      VITE_REACT_APP_FIREBASE_AUTH_DOMAIN: ${{ secrets.VITE_REACT_APP_FIREBASE_AUTH_DOMAIN }}
      VITE_REACT_APP_FIREBASE_PROJECT_ID: ${{ secrets.VITE_REACT_APP_FIREBASE_PROJECT_ID }}
      VITE_REACT_APP_FIREBASE_STORAGE_BUCKET: ${{ secrets.VITE_REACT_APP_FIREBASE_STORAGE_BUCKET }}
      VITE_REACT_APP_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.VITE_REACT_APP_FIREBASE_MESSAGING_SENDER_ID }}
      VITE_REACT_APP_FIREBASE_APP_ID: ${{ secrets.VITE_REACT_APP_FIREBASE_APP_ID }}
      VITE_REACT_APP_FIREBASE_MEASUREMENT_ID: ${{ secrets.VITE_REACT_APP_FIREBASE_MEASUREMENT_ID }}
      VITE_SUPABASE_URL: ${{ secrets.VITE_SUPABASE_URL }}
      VITE_SUPABASE_ANON_KEY: ${{ secrets.VITE_SUPABASE_ANON_KEY }}
      FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}

    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Setup Node.js
        uses: actions/setup-node@v2
        with:
          node-version: "18"

      - name: Install dependencies
        run: npm install

      - name: Run build
        run: npm run build

      - name: Run tests
        run: npm test


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

      - name: Deploy to Firebase
        uses: w9jds/firebase-action@master
        with:
          args: deploy --only hosting

おわりに

同じエラー文で検索してもそれぞれ原因が違ったりするので解決に少し時間がかかりました。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?