谷歌云构建 - 一次替换中的多个值?



我正在使用Google Cloud Build,在其中一个步骤中,我正在运行Bazel构建。我正在尝试使用替换在一次调用中构建多个目标。

什么时候:

  1. 该步骤如下所示:
{
"name": "gcr.io/cloud-builders/bazel",
"args": [
"build",
"$_TARGETS",
]
}
  1. TARGETS替换是//foo/... //bar/...

实际运行的命令bazel build "//foo/... //bar/...",这显然会导致无效的目标名称错误。(单个目标工作正常(

最终结果应该是bazel build //foo/... //bar/...

有没有办法在单个子中"拆分"多个参数? 还是让命令单独处理参数?

我很难找到解决方法。我用 Bazel 进行了测试(不是构建,我没有示例,但有帮助、版本和其他简单的关键字。它接缝工作。

使用Cloud Build,您可以执行linux命令,即使使用特定的Cloud Builder也是如此。只需指定entrypoint即可。

{
"name": "gcr.io/cloud-builders/bazel",
"entrypoint": "bash",
"args": [
"-c",
"bazel build $_TARGETS",
]
}

你应该实现你想要的。如果没有,请尝试通过$(echo $_TARGET)来更新$_TARGET以打印$_TARGET(因此,如果仍然存在,则删除引号(

最新更新