Как убить стадию Дженкинс Пайплайн? - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть конвейер Jenkins с несколькими этапами, но из-за некоторой проблемы на одном из этапов он, вероятно, будет работать дольше без необходимости.

Вместо того, чтобы прервать сборку всего конвейера и пропустить следующие этапы, я хочу убить этот указанный c этап, от которого другие этапы не зависят.

Есть ли способ уничтожить указанный c этап Дженкинса?

Ответы [ 2 ]

1 голос
/ 07 апреля 2020

Есть способы пропустить этап. Но я не уверен, есть ли варианты убить длительную стадию. Я бы просто добавил условное выражение для запуска этапа или нет, ИЛИ может быть, вы могли бы поместить условие тайм-аута, заключенное в try..catch block, для того, чтобы длительный ненужный этап пропустить и перейти к другим этапам, которые вы хотите, как показано ниже.

pipeline {
   agent any
   stages {
        stage('stage1') {
          steps {
            script {
              try {
                  timeout(time: 2, unit: 'NANOSECONDS')
                  echo "do your stuff"
              } catch (Exception e) {
                  echo "Ended the never ending stage and proceeding to the next stage"
              }
            }              
          }
        }     
        stage('stage2') {
          steps {
            script {
                echo "Hi Stage2"
            }
          }
        }           
    }
}

ИЛИ Проверьте на этой странице для условного шага / этапа .

0 голосов
/ 07 апреля 2020

Вы можете попробовать использовать блок «try / catch» в скриптовом конвейере. Даже если на определенном этапе возникнет ошибка, Jenkins продолжит выполнение следующего этапа.

node {
    stage('Example') {
        try {
            sh 'exit 1'
        }
        catch (exc) {
            echo 'Something failed, I should sound the klaxons!'
            throw
        }
    }
}

С документацией можно ознакомиться здесь: https://jenkins.io/doc/book/pipeline/syntax/

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