我正在使用詹金斯管道项目。在脚本中,我想以动态方式编写 并行 块,因为节点数可以更改。例如,从此:
parallel( node1: { node(){ stage1() stage2() ... } }, node2: { node(){ stage1() stage2() ... } }, ... )
像这样
for (int i = 0; i < $NODE_NUMBER; i++) { "node${i}": { node (’namenode-' + ${i}) { something() } }
但是这种方式行不通,Groovy / Jenkins对这种语法不满意。有人可以建议一种更好的方法吗?
您可以像branches先定义节点图一样,然后将其执行为parallel branches。
branches
parallel branches
def numNodes = 4 def branches = [:] for(int i = 0; i < numNodes; i++) { branches["node${i}"] = { node("namenode-${i}") { something() } } } parallel branches