1

我有一个用 BuildFlow 制作的作业,这个作业接收一个参数,如job1, job2, job1 job2

在我的 DSL 中,我用 a 分隔参数的值split(","),所以现在我有一个数组:["job1","job2","job1 job2"]

现在我想让 DSL 运行具有 X 并行构建的子作业,其中 X 是数组的大小,并迭代以获取数组的每个位置作为参数传递给子作业的构建。

4

1 回答 1

3

在你的 dsl 中试试这个:

subjob = "yourJobName"
subjobIteration = []

["job1","job2","job1 job2"].each{ parameter ->
  //add the closure to trigger the subjob to the list
  subjobIteration.add({build( subjob, parameter )})
}

parallel( subjobIteration )

此代码段使用此处记录的并行作业执行语法。

默认情况下, GroovysubjobIteration会正确处理“并行”-DSL 的列表,因此不需要进一步的步骤。

于 2013-11-26T08:35:10.540 回答