将Firebase私钥json文件部署到App Engine



我有一个应用程序引擎项目,我通过Gitlab CI部署到谷歌云应用程序引擎。该项目使用Firebase Admin。授权应用程序的秘密文件称为私钥。需要包含凭据的Json。

为了处理这个文件,我已经将它存储在Gitlab CI文件secret中,并在构建期间将其复制到工作目录。在部署步骤中,我使用以下命令部署到App Engine:

gcloud --quiet --project "$PROJECT_ID_PRODUCTION" app deploy app.yaml --version "$CI_COMMIT_SHORT_SHA"  --no-promote

在App Engine版本上浏览源代码时,文件丢失。所有其他文件都在那里。

我找不到任何导致此行为的文档规则。我遗漏了什么导致文件未被部署?

首先:app Engine的应用部署者将自动将相关的Google凭据存储在其环境变量中,以便能够在同一项目上与任何Google云服务进行身份验证。因此,firebase服务将在默认情况下进行身份验证并正常访问。

现在,如果你需要将私钥传递给你的实例,确保它确实存储在正在部署的repo中(例如,在Angular中,它可能是Next中的dist,可能是build,等等…)。

另外,确保.cloudignore文件不包含您的私钥!

最新更新