Google Cloud Build - 一次替换中有多个值?
Google Cloud Build - multiple values in a single substitution?
我正在使用 Google Cloud Build,在其中一个步骤中,我是 运行 Bazel 构建。我正在尝试使用替换在一次调用中构建多个目标。
时间:
- 步骤如下:
{
"name": "gcr.io/cloud-builders/bazel",
"args": [
"build",
"$_TARGETS",
]
}
TARGETS
替换为 //foo/... //bar/...
实际上是 运行 的命令是 bazel build "//foo/... //bar/..."
,这显然会导致目标名称无效错误。 (单个目标就可以了)
最终结果应该是 bazel build //foo/... //bar/...
有没有办法 "split" 在单个 sub 中使用多个参数?或者让命令分别处理参数?
我很难找到解决方法。我用 Bazel 进行了测试(不是构建,我没有示例,但是有帮助、版本和其他简单的关键字。它接缝工作。
使用 Cloud Build,您可以执行 linux 命令,即使使用特定的 Cloud Builder。只需指定 entrypoint
.
{
"name": "gcr.io/cloud-builders/bazel",
"entrypoint": "bash",
"args": [
"-c",
"bazel build $_TARGETS",
]
}
你应该实现你想要的。如果不尝试通过 $(echo $_TARGET)
更新 $_TARGET
以打印 $_TARGET
(因此,删除引号,如果仍然存在)
我正在使用 Google Cloud Build,在其中一个步骤中,我是 运行 Bazel 构建。我正在尝试使用替换在一次调用中构建多个目标。
时间:
- 步骤如下:
{
"name": "gcr.io/cloud-builders/bazel",
"args": [
"build",
"$_TARGETS",
]
}
TARGETS
替换为//foo/... //bar/...
实际上是 运行 的命令是 bazel build "//foo/... //bar/..."
,这显然会导致目标名称无效错误。 (单个目标就可以了)
最终结果应该是 bazel build //foo/... //bar/...
有没有办法 "split" 在单个 sub 中使用多个参数?或者让命令分别处理参数?
我很难找到解决方法。我用 Bazel 进行了测试(不是构建,我没有示例,但是有帮助、版本和其他简单的关键字。它接缝工作。
使用 Cloud Build,您可以执行 linux 命令,即使使用特定的 Cloud Builder。只需指定 entrypoint
.
{
"name": "gcr.io/cloud-builders/bazel",
"entrypoint": "bash",
"args": [
"-c",
"bazel build $_TARGETS",
]
}
你应该实现你想要的。如果不尝试通过 $(echo $_TARGET)
更新 $_TARGET
以打印 $_TARGET
(因此,删除引号,如果仍然存在)