【发布时间】:2019-03-21 06:22:42
【问题描述】:
是否可以将 Cloud Build 中的环境变量注入 App Engine 标准环境?
我不想将我的环境变量推送到app.yaml 或.env 内的GitHub。因此,当 Cloud Build 拉取和部署时,它会丢失 .env 文件,并且服务器无法完成某些请求。
我试图避免使用 Datastore,因为 Datastore 的异步特性会使代码更加混乱。我尝试使用找到 here 的加密机密,但这似乎不起作用,因为我将机密添加到应用程序部署并且它们没有进入部署,所以我认为这不是 Cloud Build 的用例.
我还尝试了教程here,将.env 文件从存储导入App Engine Standard,但由于Standard 没有本地存储,我认为它会失效。
那么有没有办法在不使用 Datastore 或提交 app.yaml 或 .env 来更改控制的情况下将 .env 注入 App Engine 标准环境?可能使用 Cloud Build、KMS 或某种类型的存储?
这是我为cloudbuild.yaml尝试的:
steps:
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy"]
secretEnv: ['SECRET1', 'SECRET2', 'SECRET3', 'SECRET4', 'SECRET5']
timeout: "1600s"
secrets:
- kmsKeyName: projects/<Project-Name>/locations/global/keyRings/<Key-Ring-Name>/cryptoKeys/<Key-Name>
secretEnv:
SECRET1: <encrypted-key-base64 here>
SECRET2: <encrypted-key-base64 here>
SECRET3: <encrypted-key-base64 here>
SECRET4: <encrypted-key-base64 here>
SECRET5: <encrypted-key-base64 here>
【问题讨论】:
标签: node.js google-app-engine google-cloud-platform google-cloud-build