我有BuildFlow做了一个工作,这个工作接收参数一样job1,job2,job1 job2。
job1
job2
在我的DSL我单独一个参数的值split(","),所以现在我有一个数组:["job1","job2","job1 job2"]。
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 )
此代码段使用此处记录的并行作业执行语法。
subjobIteration默认情况下,Groovy会正确处理“并行” -DSL 的列表,因此不需要其他步骤。
subjobIteration