Bazel 谷歌云构建-一次替换中的多个值?
我正在使用谷歌云构建,其中一个步骤是运行Bazel构建。我尝试使用替换在一次调用中构建多个目标 当:Bazel 谷歌云构建-一次替换中的多个值?,bazel,google-cloud-build,Bazel,Google Cloud Build,我正在使用谷歌云构建,其中一个步骤是运行Bazel构建。我尝试使用替换在一次调用中构建多个目标 当: 步骤如下所示: 目标替换是//foo///条形码/… 实际运行的命令是bazel build”//foo/..//bar/..“,这显然会导致无效的目标名称错误。(单个目标工作正常) 最终结果应该类似于bazel-build//foo///条形码/… 有没有一种方法可以在一个子系统中“拆分”多个参数?或者让命令单独处理参数?我很难找到解决方法。我用Bazel(不是build,我没有示例,但有he
目标
替换是//foo///条形码/…
bazel build”//foo/..//bar/..“
,这显然会导致无效的目标名称错误。(单个目标工作正常)
最终结果应该类似于bazel-build//foo///条形码/…
有没有一种方法可以在一个子系统中“拆分”多个参数?或者让命令单独处理参数?我很难找到解决方法。我用Bazel(不是build,我没有示例,但有help、version和其他简单的关键字)进行了测试。它可以正常工作 使用Cloud Build,即使使用特定的Cloud Builder,您也可以执行linux命令。只需指定
入口点即可
{
"name": "gcr.io/cloud-builders/bazel",
"entrypoint": "bash",
"args": [
"-c",
"bazel build $_TARGETS",
]
}
您应该实现您想要的。如果没有,请尝试通过$(echo$\u TARGET)
更新$\u TARGET
,以打印$\u TARGET
(从而删除仍然存在的引号)让我重新表述一下:是否要将$\u TARGET
拆分为一个数组,以便将列表空间分隔的值传递给Bazel,而不仅仅是一个值。这有意义吗?是的,这正是我想要实现的!
{
"name": "gcr.io/cloud-builders/bazel",
"entrypoint": "bash",
"args": [
"-c",
"bazel build $_TARGETS",
]
}