动态创建的Jenkins管道脚本

动态创建的Jenkins管道脚本,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,我正在使用詹金斯管道项目。在脚本中,我希望以动态方式编写并行块,因为节点的数量可以更改。例如,从以下方面: parallel( node1: { node(){ stage1() stage2() ... } }, node2: { node(){ stage1() stage2() ... } }, ... ) 像这样的事情 for (int i = 0; i &l

我正在使用詹金斯管道项目。在脚本中,我希望以动态方式编写并行块,因为节点的数量可以更改。例如,从以下方面:

parallel(
node1: {
    node(){
        stage1()
        stage2()
        ...
    }
},
node2: {
    node(){
        stage1()
        stage2()
        ...
    }
},
...
)
像这样的事情

for (int i = 0; i < $NODE_NUMBER; i++) {
  "node${i}": {
    node (’namenode-' + ${i}) {
      something()
    }
}
for(int i=0;i<$NODE\u NUMBER;i++){
“节点${i}”:{
节点('namenode-'+${i}){
某物
}
}

但是这种方法不起作用,Groovy/Jenkins对这种语法不满意。有人能推荐一种更好的方法吗?

您可以先定义节点映射,如
分支
,然后作为
并行分支
执行它们

def numNodes = 4
def branches = [:]

for(int i = 0; i < numNodes; i++) {
    branches["node${i}"] = {
        node("namenode-${i}") {
            something()
        }
    }
}
parallel branches
def numNodes=4
def分支=[:]
对于(int i=0;i
您能提供一个完整的工作解决方案吗?这似乎不再有效了,是吗?