在 Github Actions 中部署 Firebase 会出现授权失败错误

Mer*_*rha 5 firebase firebase-cli github-actions

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

Error: Autorization failed. This account is missing the following required permissions on project ***
 firebase.projects.get
 firebasehosting.sites.update
Run Code Online (Sandbox Code Playgroud)

我有多个站点,当我尝试使用它手动部署时,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 }}
Run Code Online (Sandbox Code Playgroud)

有人知道出了什么问题吗?

Dou*_*son 5

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

您必须遵循有关与 CI/CD 系统集成的文档中的说明,并为用于授权部署的帐户提供令牌。

  • 你是对的。我真是太傻了 当我运行 `firebase login:ci` 命令时,firebase 从错误的帐户 Chrome 窗口打开一个 chrome 选项卡(我打开了两个不同的会话),当我点击登录时我什至没有看到它......无论如何非常感谢你的帮助伙伴! (2认同)