在 Google 构建期间在 app.yaml 文件中添加环境变量

Add environment variable in app.yaml file during Google Build

我正在使用 Google Cloud Build 和 cloudbuild.yaml 下载 app.yaml 文件,其中包含我基于 Python 的应用程序的环境变量。初始部署使用的app.yaml版本没有包含安全保护的环境变量

但是,这似乎不起作用并且未检测到环境变量 - 因为 app.yaml 似乎没有被覆盖。

以下是我的cloudbuild.yaml配置:

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

我了解 App Engine 上的应用程序入口点是通过 app.yaml,但我认为如果包含 cloudBuild.yaml,将首先调用它,然后再调用 app.yaml .

如果这不正确,我还能如何将环境变量附加到我的 app.yaml 文件中?

谢谢!

当您 运行 gcloud app deploy 时,部署过程将不会考虑 cloudbuild.yaml 文件,并且会将您的应用程序与您的 未填充 app.yaml 文件.

要 运行 自定义构建步骤,您需要像以前一样创建 cloudbuild.yaml 文件,定义自定义构建步骤,然后将构建步骤添加到 运行部署命令。应该是这样的:

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']

然后您将通过发出以下命令来 运行 构建(在您拥有 运行 和 gcloud app deploy 的同一目录中):

gcloud builds submit --config cloudbuild.yaml .

这将:

  • 上传当前目录到Cloud Build实例
  • 运行 CB 实例上该目录中的 gsutil 命令,用于检索填充有环境变量的 app.yaml 文件
  • 从 Cloud Build 实例将您的代码部署到 App Engine