我是否需要将通过 CLI 提供的替换值添加到 cloudbuild.yaml 文件?

Do I need to add substituions values that I'll provide via CLI to the cloudbuild.yaml file?

在我的 cloudbuild.yaml 文件中,我依赖于将通过 builds submit --substitutions=_SERVER_ENV=TEST 命令传递的值。

我是这样引用它的:

cloudbuild.yaml

steps:
  - name: "gcr.io/cloud-builders/docker"
    args: [
      "build",
      "--build-arg SERVER_ENV=$_SERVER_ENV",       // <----- IT WILL BE PASSED TO DOCKER --build-arg
      "."
    ]

我的问题是:我需要将它添加到 substitutions 部分的 cloudbuild.yaml 文件中吗?

示例:

cloudbuild.yaml

substitutions:               // DO I NEED TO ADD THIS SECTION?
  - "_SERVER_ENV=TEST"       // GIVEN THE FACT THAT I'LL BE PROVIDING IT THROUGH THE CLI

或者我可以将其省略并确保构建器将查找它的 CLI 命令如下:

builds submit --substitutions=_SERVER_ENV=TEST


参考资料

DOC: gcloud builds submit

DOC: build config substitutions

DOC: build config - Substituting variable values

您不需要 cloudbuild.yaml 部分中的替换部分。但是,该值将为空并且可能会破坏您的构建,或者更糟糕的是状态不稳定

随心所欲

  • 通过默认非关键值的构建
  • 或者一个带有空值且具有 unknow/untested 行为的构建。