1

使用 Jenkins 声明式语法,可以在没有顶级代理的情况下运行并行阶段。这最终会消耗两个执行程序,因为顶级代理被标记为“无”:

pipeline {
    agent none
    stages {
        stage('Run on parallel nodes') {
            parallel {
                stage('Do one thing') {
                    agent any
                    steps {
                        ...
                    }
                stage('Do another thing') {
                    agent any
                    steps {
                        ...
                    }
                }
            }
        }
    }
}

对于需要顶级“节点”元素的脚本化管道,这似乎是不可能的。这最终会消耗三个执行者,即使只有两个在做真正的工作:

node {
  stage('Run on parallel nodes') {
    parallel ([
      'Do one thing': {
          node() {
            ...
          }
      },
      'Do another thing': {
          node() {
              ...
          }
      }
    ])
  }
}

脚本化管道是否可以实现“轻量级”顶级执行器?

4

1 回答 1

5

脚本化管道不需要顶级node分配。这是错误的,可以省略。

于 2018-06-29T18:42:03.450 回答