我有一个 gitlab 项目,想要将
master
分支部署到我的生产 Firebase 项目,并将 develop
分支部署到另一个开发 Firebase 项目
将
master
分支部署到 firebase 可以正常工作。但将开发部署到 firebase 却不会
这是我的
gitlab-ci.yml
:
image: node:10
before_script:
- npm install
- npm install -g @angular/cli
- npm install -g firebase-tools
cache:
paths:
- node_modules/
stages:
- prod
- test
deploy-prod:
stage: prod
environment:
name: production
url: https://my.chronery.app
only:
- master
script:
- npm run build-prod
- npm run deploy-prod
deploy-test:
stage: test
environment:
name: development
url: https://chronery-dev.firebaseapp.com
only:
- develop
script:
- npm run build-dev
- npm run deploy-dev
所以
deploy-test
是行不通的。
这是我的 package.json 的脚本:
"build-dev": "ng build --prod --build-optimizer --extract-css false --source-map",
"build-prod": "ng build --prod --build-optimizer --extract-css false",
"deploy-dev": "firebase deploy --token=$FIREBASE_TOKEN -P dev",
"deploy-prod": "firebase deploy --token=$FIREBASE_TOKEN -P prod",
当管道想要将其部署到开发人员时失败。 所以这个脚本:
deploy-dev
错误如下:
Error: HTTP Error: 403, Request had insufficient authentication scopes.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] deploy-dev: `firebase deploy --token=$FIREBASE_TOKEN -P dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] deploy-dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
有谁知道问题出在哪里吗?
提前致谢!
小改动:
firebase deploy --token $FIREBASE_TOKEN -P dev
希望您在 gitlab 中创建了 FIREBASE_TOKEN
我也遇到了同样的问题。我通过向计算 IAM 用户授予 serviceAccount.actAs 权限解决了这个问题。