使用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() {
...
}
}
])
}
}
脚本化管道能否实现“轻量级”顶级执行程序?
答案 0 :(得分:4)
脚本管道不需要顶级node
分配。这是错误的,可以忽略。