循环变量如何传入Groovy parallel块

在做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,符合期望。

猜你喜欢

转载自wynet321.iteye.com/blog/2335657