Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Google app engine 如何在google app engine和gitlab CI中传递env secret变量_Google App Engine_Google Cloud Platform_Continuous Integration_Gitlab_Continuous Deployment - Fatal编程技术网

Google app engine 如何在google app engine和gitlab CI中传递env secret变量

Google app engine 如何在google app engine和gitlab CI中传递env secret变量,google-app-engine,google-cloud-platform,continuous-integration,gitlab,continuous-deployment,Google App Engine,Google Cloud Platform,Continuous Integration,Gitlab,Continuous Deployment,我正在使用gitlab并将其部署到我的nodejs应用程序的google应用程序引擎 Google服务访问作为变量添加到gitlab设置中 服务账户密钥: { “类型”:“服务账户”, “项目id”:“节点我们”, “私钥id”:“, “私钥”:“, “客户端电子邮件”:“gitlab演示服务”-account@node-us.iam.gserviceaccount.com“, “客户id”:“, “auth_uri”:“, “token_uri”:“”, “身份验证提供程序\u x509\u证

我正在使用gitlab并将其部署到我的nodejs应用程序的google应用程序引擎

Google服务访问作为变量添加到gitlab设置中

服务账户密钥:
{
“类型”:“服务账户”,
“项目id”:“节点我们”,
“私钥id”:“,
“私钥”:“,
“客户端电子邮件”:“gitlab演示服务”-account@node-us.iam.gserviceaccount.com“,
“客户id”:“,
“auth_uri”:“,
“token_uri”:“”,
“身份验证提供程序\u x509\u证书\u url”:“”,
“客户端\u x509\u证书\u url”:”
}
.gitlab ci.yml

图像:节点:最新
隐藏物:
路径:
-节点单元/
在脚本之前:
-回声“黛布http://packages.cloud.google.com/apt cloud sdk jessie main“| tee/etc/apt/sources.list.d/google-cloud-sdk.list
-卷曲https://packages.cloud.google.com/apt/doc/apt-key.gpg |apt密钥添加-
-apt获取更新
-apt get-qq-y安装谷歌云sdk
部署生产:
阶段:部署
环境:生产
仅:
-主人
脚本:
-echo$SERVICE\u ACCOUNT\u KEY>/tmp/$CI\u PIPELINE\u ID.json
-gcloud auth activate服务帐户--密钥文件/tmp/$CI_PIPELINE_ID.json
-gcloud--安静--项目节点us app deploy app.yaml
在脚本之后:
-rm/tmp/$CI_PIPELINE_ID.json
我的根文件夹有
app.yaml
文件和
.env
文件

到目前为止,我正在测试流程,该流程运行良好,并成功部署到谷歌应用程序引擎。(它不包含任何密钥)

但是,我希望my env变量(包含密钥)需要在
.gitignore
中被忽略,也不要成为
app.yaml
文件的一部分

如何传递我的env密钥?

不要传递

用来传递你的秘密。因此,在您的存储库中,使用secret manager URI引用机密,并使用机密版本。这样,您的代码或app.yaml/.env文件中就没有秘密了

如果需要更新机密,请手动执行。有些任务很难自动化,或者成本很高


注意:您提到的文章在Secret Manager发布前6个月发布(今年年初2020)

我不清楚什么是VC。你能解释一下吗?另外,我不明白你的阻碍点。你想添加什么,你想忽略什么?什么时候?为什么?如果你有一个例子,它将是完美的!!谢谢。。VC->版本控制,但已删除,因为它可能会造成混乱。如何传递env变量的密钥值。如果我将其添加到根文件夹中,它将起作用。但是,由于它包含机密,因此无法执行此操作。我如何将env变量传递给google app engine。在这一点上:这是我还需要知道的?我想使用,但没有回购连接谷歌云构建触发器与gitlab