我有一个使用BuildFlow创建的作业,此作业会收到job1
,job2
,job1
job2
等参数。
在我的DSL中,我将参数的值与split(",")
分开,所以现在我有一个数组:["job1","job2","job1 job2"]
。
现在我想让DSL运行一个并行的X版本的子工作,其中X是数组的大小,并迭代以获得数组的每个位置作为参数传递给子工作的构建。< / p>
答案 0 :(得分: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 )
此代码段使用文档here记录的并行作业执行。
Groovy默认为“并行”-DSL正确处理列表subjobIteration
,因此不需要进一步的步骤。