在做Jenkins pipeline groovy脚本时,遇到如下脚本
def branches=[:]
for(int i=0;i<10;++i){
branches[i]={
println i
}
}
prarallel branches
结果发现打印出来所有branch里的i都是10。代表循环变量不是运行时传入branches块。做如下修改
def branches=[:]
for(int i=0;i<10;++i){
def value=i
def branch={
println value
}
branches.add(i,branch)
}
prarallel branches
于是,打印结果时从0-9,符合期望。
本文介绍了一个关于Jenkins Pipeline中Groovy脚本的问题:如何正确地为每个并行任务分配独立的循环变量。通过调整代码逻辑,确保了每个任务能够获取到正确的变量值。

被折叠的 条评论
为什么被折叠?



