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

Bazel 谷歌云构建-一次替换中的多个值?,bazel,google-cloud-build,Bazel,Google Cloud Build,我正在使用谷歌云构建,其中一个步骤是运行Bazel构建。我尝试使用替换在一次调用中构建多个目标 当: 步骤如下所示: 目标替换是//foo///条形码/… 实际运行的命令是bazel build”//foo/..//bar/..“,这显然会导致无效的目标名称错误。(单个目标工作正常) 最终结果应该类似于bazel-build//foo///条形码/… 有没有一种方法可以在一个子系统中“拆分”多个参数?或者让命令单独处理参数?我很难找到解决方法。我用Bazel(不是build,我没有示例,但有he

我正在使用谷歌云构建,其中一个步骤是运行Bazel构建。我尝试使用替换在一次调用中构建多个目标

当:

  • 步骤如下所示:
  • 目标
    替换是
    //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",
          ]
    }