如何使用“ when”子句将多个阶段嵌套在一个阶段中

时间:2020-11-03 21:11:05

标签: jenkins jenkins-pipeline

我正在尝试完成以下操作,但收到以下错误:未知的舞台部分“舞台”。

我有几个阶段,我试图将一个when块嵌套在一个阶段下,以在某个分支上构建/部署。我尝试使用 stages 作为父级,但是又遇到了另一个错误,因为我已经在文件中的其他位置存在了stage阶段。我该怎么做?

stage("Build and deploy") {
  when{branch "feature branch"}
  stage("Dev"){
  
  }
  stage("Test"){
  
  }
  stage("Prod"){
  
  }
}

1 个答案:

答案 0 :(得分:0)

这是一个对我有用的独立管道:

pipeline {
    agent any

    stages {
        stage('doing something') {
            when { expression { 2 > 1 } } // "branch" should work too
            stages {
                stage ('a') {
                    steps {
                        script {echo "a"}
                    }
                }
                stage ('b') {
                    steps {
                        script {echo "b"}
                    }
                }
                stage ('c') {
                    steps {
                        script {echo "c"}
                    }
                }
            }
        }
    }
}

输出: BlueOcean