如何使用 github 操作和 w9jds/firebase-action 部署到不同的 firebase 环境

A H*_*son 5 github firebase firebase-hosting firebase-cli github-actions

我正在尝试使用 Github Actions 为我的 angular 项目设置 CI 到 firebase,但我有一个临时环境和生产环境,我想根据我推送到的分支部署到每个环境。

我知道我可以为我的masterdev分支创建两个不同的工作流脚本,但我无法弄清楚如何使用w9jds/firebase-action.

当我使用脚本时:

on:
  push:
    branches:
      - dev

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/checkout@master
      - name: Install Dependencies
        run: npm install
      - name: Build
        run: npm run build-prod
      - name: Archive Production Artifact
        uses: actions/upload-artifact@master
        with:
          name: dist
          path: dist
  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: dist
          path: dist
      - name: Deploy to Firebase
        uses: w9jds/firebase-action@master
        with:
          args: deploy --only hosting:staging
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error: No project active, but project aliases are available.

Run firebase use <alias> with one of these options:

  production (#####)
  staging (#####)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Mic*_*igh 9

我认为你需要:

with:
  args: deploy --only hosting --project staging
Run Code Online (Sandbox Code Playgroud)

hosting:*部署目标是在同一个项目中的多个站点,指定你应该使用一个项目--project-P