Add environment variable in app.yaml file during Google Build

此生再无相见时 提交于 2019-12-31 05:29:25

问题


I'm using Google Cloud Build with cloudbuild.yaml to download an app.yaml file that includes environment variables for my Python based app. The app.yaml version used for the initial deployment does not contain the environment variables for security protection.

However, it seems this isn't working and the environment variables aren't being detected - as the app.yaml does not seem to be overwritten.

The following is my cloudbuild.yaml configuration:

steps:
 - name: gcr.io/cloud-builders/gsutil
args:
  [
    "cp",
    "gs://<path to bucket>/app.yaml",
    "app.yaml",
  ]

I understand the entrypoint for an app on App Engine is through app.yaml but I thought that if cloudBuild.yaml is included, this would be called first and then app.yaml.

If this isn't correct how else can I append environment variables to my app.yaml file?

Thanks!


回答1:


When you run gcloud app deploy, the deployment process won't take the cloudbuild.yaml file into account and will deploy your app along with your unpopulated app.yaml file.

To run a custom build step, you'll need to create a cloudbuild.yaml file as you did, define your custom build step and then add a build step to run the deploy command. That'd be something like this:

steps:
 - name: gcr.io/cloud-builders/gsutil
   args:
   [
    "cp",
    "gs://<path to bucket>/app.yaml",
    "app.yaml",
   ]
 - name: 'gcr.io/cloud-builders/gcloud'
   args: ['app', 'deploy']

You'll then run the build by issuing the following command (in the same directory where you'd have run the gcloud app deploy one):

gcloud builds submit --config cloudbuild.yaml .

This will:

  • Upload the current directory to the Cloud Build instance
  • run the gsutil command from within that directory on the CB instance to retrieve the app.yaml file populated with your environment variables
  • deploy your code to App Engine from the Cloud Build instance


来源:https://stackoverflow.com/questions/57455119/add-environment-variable-in-app-yaml-file-during-google-build

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!