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

Posted

技术标签:

【中文标题】我是不是需要将通过 CLI 提供的替换值添加到 cloud build.yaml 文件?【英文标题】:Do I need to add substituions values that I'll provide via CLI to the cloudbuild.yaml file?我是否需要将通过 CLI 提供的替换值添加到 cloud build.yaml 文件? 【发布时间】:2021-03-21 18:40:09 【问题描述】:

在我的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
      "."
    ]

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

例子:

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

【问题讨论】:

【参考方案1】:

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

随你喜欢

通过默认非关键值的构建 或通过带有未知/未经测试行为的空值的构建。

【讨论】:

以上是关于我是不是需要将通过 CLI 提供的替换值添加到 cloud build.yaml 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Thymeleaf:添加到现有值而不是替换它们

Windows CLI:将列表通过管道传输到 awk 并用外部文件中的文本替换文本并写入 output.txt

Eloquent 可以替换数据库中的外键吗?

如何通过CLI将iOS插件添加到Phonegap?

如何强制 Angular cli 从绝对位置而不是 base-href 提供捆绑文件

如何通过 C++-CLI 回调和委托将字符串从 C++-CLI 传递到 C#