Gitlab 管道:Firebase 部署 403

问题描述 投票:0回答:2

我有一个 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.

有谁知道问题出在哪里吗?

提前致谢!

node.js firebase gitlab-ci firebase-hosting firebase-cli
2个回答
1
投票

小改动:

firebase deploy --token $FIREBASE_TOKEN -P dev

希望您在 gitlab 中创建了 FIREBASE_TOKEN


0
投票

我也遇到了同样的问题。我通过向计算 IAM 用户授予 serviceAccount.actAs 权限解决了这个问题。

我写了一篇关于为 NextJs 设置 Gitlab CI CD 管道的博客,其中包含详细步骤

© www.soinside.com 2019 - 2024. All rights reserved.