Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 应用程序引擎中CI/CD管道的环境变量存储位置?_Node.js_Google App Engine_Google Cloud Platform_Google Cloud Build_App.yaml - Fatal编程技术网

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检查这个问题