执行特定阶段时跳过其他流水线阶段

skip other pipeline stages when executing a specific stage

我有一个声明性管道 jenkinsfile,其中有 4 个阶段。 我想这样做,无论何时执行特定阶段(此阶段是有条件的,因此它不会总是执行),跳过此阶段之后的所有阶段。 出于示例目的,假设此阶段是第一阶段。 有谁知道在声明性管道中执行此操作的方法吗?

提前致谢, 阿隆

定义一个布尔变量,例如skip = false 正在筹备中。当您进入条件阶段时,将变量设置为 true。使其他阶段 (2-4) 取决于 skip 变量。

stage("1 - Your conditional stage") {
  when {
    ...
  }
  steps {
    script {
      skip = true
    }
}

stage("2") {
  when {
    expression {
      return skip == false
    }
  }
}
...
stage("4") {
  when {
    expression {
      return skip == false
    }
  }
}