I'm trying to automate the deployment of a react app to firebase with github actions but i'm getting the following error:
Error: Autorization failed. This account is missing the following required permissions on project ***
firebase.projects.get
firebasehosting.sites.update
I have multiple sites and when I try to deploy manually using firebase deploy --only hosting:MY_SITE_NAME it's working correctly. I have two jobs in my workflow. The build job passes but the deploy one fails. Here's my workflow file:
name: Build and Deploy to Firebase
on:
push:
branches:
- master
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@master
- name: Install Dependencies
run: yarn install
- name: Build
run: yarn build
- name: Archive Production Artifact
uses: actions/upload-artifact@master
with:
name: build
path: build
deploy:
name: Deploy
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@master
- name: Download Artifact
uses: actions/download-artifact@master
with:
name: build
- name: Deploy to Firebase
uses: w9jds/firebase-action@master
with:
args: deploy --only hosting:MY_SITE_NAME
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
Does anyone have an idea of what is wrong?
If you want to use the Firebase CLI in a CI/CD environment such as GitHub Action, you'll have to provide a way for the CLI to know the account credentials it should use. When you run locally, it can get the credentials from your interaction with firebase login. But when you run elsewhere, there is no UI to prompt you.
You will have to follow the instructions in the documentation on integrating with CI/CD system, and provide a token for the account that should be used to authorize the deployment.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With