禁用 Jenkinsfile 中的一个阶段

Prz*_*ski 2 continuous-integration jenkins jenkins-pipeline jenkins-declarative-pipeline

我想暂时禁用 Jenkinsfile 中的某些阶段。删除它们然后从版本历史记录中恢复似乎太麻烦了。我尝试添加这个:

    stage('Tests') {
      when {
        false
      }
    (...)
Run Code Online (Sandbox Code Playgroud)

但是当我触发作业时会导致错误:

WorkflowScript: 30: Expected a when condition @ line 30, column 7.

         when {

         ^

WorkflowScript: 30: Empty when closure, remove the property or add some content. @ line 30, column 7.

         when {
Run Code Online (Sandbox Code Playgroud)

有没有办法when: never在詹金斯声明性管道中做?

mke*_*erz 5

你几乎是正确的。您可以评估如下所示的布尔表达式以禁用该阶段。此外,您可以简单地删除舞台或将其注释掉。

 stage('Tests') {
      when {
        expression { false }
      }
    ...
Run Code Online (Sandbox Code Playgroud)

  • 我发现 `when { expression { false } }` 就足够了,谢谢 (2认同)