我有一个用 BuildFlow 制作的作业,这个作业接收一个参数,如job1
, job2
, job1
job2
。
在我的 DSL 中,我用 a 分隔参数的值split(",")
,所以现在我有一个数组:["job1","job2","job1 job2"]
。
现在我想让 DSL 运行具有 X 并行构建的子作业,其中 X 是数组的大小,并迭代以获取数组的每个位置作为参数传递给子作业的构建。
我有一个用 BuildFlow 制作的作业,这个作业接收一个参数,如job1
, job2
, job1
job2
。
在我的 DSL 中,我用 a 分隔参数的值split(",")
,所以现在我有一个数组:["job1","job2","job1 job2"]
。
现在我想让 DSL 运行具有 X 并行构建的子作业,其中 X 是数组的大小,并迭代以获取数组的每个位置作为参数传递给子作业的构建。
在你的 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 的列表,因此不需要进一步的步骤。