如果我的构建阶段在詹金斯管道中失败,如何跳过该阶段?

时间:2019-06-20 06:48:04

标签: jenkins jenkins-pipeline

我在这里使用三个阶段,在这种情况下,如果我的第二阶段 Build 失败,则应跳过第三阶段的 copy 。我可以知道如何在管道作业中使用条件吗?

node('') {
stage ('clone'){
    Build job : 'Job1'
  }
stage ('Build'){
parallel(firstTask: {
    stage ('Job2'){
    build job: 'Job2', propagate: true 
    }
}, secondTask: {
    stage ('Job3'){
    build job: 'Job3', propagate: true
    }
})
stage ('copy'){
    build job: 'copy'
}
}
}   

1 个答案:

答案 0 :(得分:0)

  1. 首先,您需要在stage而不是node下声明stage。根据管道的默认行为,如果构建在某个阶段失败,它将自动跳过下一阶段。
  2. 在管道中使用条件有很多选择。我经常使用的选项之一是when {}。 这是一个例子-
Jenkinsfile (Declarative Pipeline)
pipeline {
    agent any
    stages {
        stage('Example Build') {
            steps {
                echo 'Hello World'
            }
        }
        stage('Example Deploy') {
            when {
                branch 'production'
            }
            steps {
                echo 'Deploying'
            }
        }
    }
}

有关更多详细信息和选项,请参阅此文档-https://jenkins.io/doc/book/pipeline/syntax/