使用从不同项目创建的服务帐户部署Firebase托管

zfciruhq  于 2023-01-27  发布在  其他
关注(0)|答案(1)|浏览(159)

当我部署firebase hosting时,即使在将项目作为参数传递之后,它也会尝试将firebase hosting部署到创建服务帐户的项目。
我设置了GOOGLE_APPLICATION_CREDENTIALS,它指向从另一个项目创建的服务帐户(用于部署的共享服务帐户),并且具有Firebase App分发管理员和当前项目的所有必需权限。

./node_modules/.bin/firebase deploy --only hosting:$ENVIRONMENT --project ${PROJECT_NAME} --non-interactive

Error: HTTP Error: 403, Firebase Hosting API has not been used in project 49XXYYZZ628 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/firebasehosting.googleapis.com/overview?project=497XXYYZZ628 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

当然,创建服务帐户的项目没有启用API。
如何强制firebase部署通过firebase部署命令传递的项目?
我在执行部署命令之前尝试过

gcloud config set project ${PROJECT_NAME}
firebase use --project ${PROJECT_NAME}

'

wvt8vs2t

wvt8vs2t1#

当使用另一个项目的服务帐户进行firebase托管部署时,我用来解决这个问题的步骤-从一个干净的CI-CD环境。
1.在从中创建服务帐户的项目上启用Firebase API。
1.如果您有多个目标应用程序,则需要部署以下命令。

firebase use --add  <ProjectID>
firebase target:apply hosting <TargetName> <TargetHostingName>
firebase deploy --only hosting:<TargetName>

相关问题