如何使用 github 操作和 w9jds/firebase-action 部署到不同的 firebase 环境
How can I deploy to different firebase environments using github actions and w9jds/firebase-action
我正在尝试使用 Github 操作为我的 angular 项目设置 CI 到 firebase,但我同时拥有暂存和生产环境,我想部署到他们每个人都根据我推到哪个分支。
我知道我可以为 master
和 dev
分支创建两个不同的工作流脚本,但我不知道如何使用 [=16= 部署到不同的 firebase 环境].
当我使用脚本时:
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 }}
我收到以下错误:
Error: No project active, but project aliases are available.
Run firebase use <alias> with one of these options:
production (#####)
staging (#####)
我做错了什么?
我认为你需要:
with:
args: deploy --only hosting --project staging
hosting:*
部署目标用于同一项目中的多个站点,要指定一个项目,您应该使用 --project
或 -P
。
我正在尝试使用 Github 操作为我的 angular 项目设置 CI 到 firebase,但我同时拥有暂存和生产环境,我想部署到他们每个人都根据我推到哪个分支。
我知道我可以为 master
和 dev
分支创建两个不同的工作流脚本,但我不知道如何使用 [=16= 部署到不同的 firebase 环境].
当我使用脚本时:
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 }}
我收到以下错误:
Error: No project active, but project aliases are available.
Run firebase use <alias> with one of these options:
production (#####)
staging (#####)
我做错了什么?
我认为你需要:
with:
args: deploy --only hosting --project staging
hosting:*
部署目标用于同一项目中的多个站点,要指定一个项目,您应该使用 --project
或 -P
。