Node.js 应用程序引擎中CI/CD管道的环境变量存储位置?
我正在云上部署我的第一个应用程序,我正在尝试设置我的环境变量 据我所知,它们设置在Node.js 应用程序引擎中CI/CD管道的环境变量存储位置?,node.js,google-app-engine,google-cloud-platform,google-cloud-build,app.yaml,Node.js,Google App Engine,Google Cloud Platform,Google Cloud Build,App.yaml,我正在云上部署我的第一个应用程序,我正在尝试设置我的环境变量 据我所知,它们设置在app.yaml文件中。但是如果该文件被推送到repo,那么它将包含坏的秘密API密钥 我可以像对待.env一样对待app.yaml但问题是,如何在CI/CD管道中为prod设置环境变量 我正在使用云构建来运行我的构建管道。我来自Bitbucket&Heroku,似乎没有一种方法可以像在这两个平台上那样为构建环境“设置”环境变量 那么,我如何才能使我的.env变量在我的应用程序中可用,而不冒将其推到我的回购协议上的
app.yaml
文件中。但是如果该文件被推送到repo,那么它将包含坏的秘密API密钥
我可以像对待.env
一样对待app.yaml
但问题是,如何在CI/CD管道中为prod设置环境变量
我正在使用云构建来运行我的构建管道。我来自Bitbucket&Heroku,似乎没有一种方法可以像在这两个平台上那样为构建环境“设置”环境变量
那么,我如何才能使我的.env变量在我的应用程序中可用,而不冒将其推到我的回购协议上的风险呢
感谢您的帮助我有一个“部署”脚本,可以克隆我的
应用程序。yaml
,从google secret manager下载api密钥,并将它们作为环境变量注入app.yaml
的env_variables
部分,然后使用新的app.yaml
运行部署命令,而不是原始的
对我来说,这个脚本是一个本地的东西,但我想你可以在谷歌云构建中做一些类似的事情对于那些正在寻找的人,下面是我如何解决这个问题的 我遵循了中概述的步骤
基本上,我们在
.yaml
文件中设置变量,然后在构建过程中将其编译成.env
文件。我们可以通过云构建配置设置这些变量的值,这样我们就可以限制对它们的访问并将它们隐藏起来。建议使用云KMS检查这个问题