как пропустить стадию, если моя стадия сборки терпит неудачу в конвейере jenkins? - PullRequest
0 голосов
/ 20 июня 2019

Здесь я использую три этапа. В этом случае, если мой второй этап Сборка завершится неудачей, он должен пропустить третий этап 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 голосов
/ 20 июня 2019
  1. Прежде всего, вам нужно объявить этап под этапами, а не под узлом. В соответствии с поведением конвейера по умолчанию, если сборка завершается неудачей на этапе, она автоматически пропускает следующие этапы.
  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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...