首页 > 解决方案 > Github Actions 中的 Firebase 部署给出了 Authorization failed 错误

问题描述

我正在尝试使用 github 操作自动将 React 应用程序部署到 Firebase,但出现以下错误:

Error: Autorization failed. This account is missing the following required permissions on project ***
 firebase.projects.get
 firebasehosting.sites.update

我有多个站点,当我尝试使用它进行手动部署时,firebase deploy --only hosting:MY_SITE_NAME它工作正常。我的工作流程中有两份工作。构建作业通过,但部署作业失败。这是我的工作流程文件:

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 }}

有谁知道出了什么问题?

标签: firebasegithub-actionsfirebase-cli

解决方案


如果您想在 CI/CD 环境(例如 GitHub Action)中使用 Firebase CLI,您必须为 CLI 提供一种方法来了解它应该使用的帐户凭据。当您在本地运行时,它可以从您与firebase login. 但是当你在其他地方运行时,没有 UI 来提示你。

您必须按照文档中有关与 CI/CD 系统集成的说明进行操作,并为应该用于授权部署的帐户提供令牌。


推荐阅读