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