Как я могу пропустить шаг конвейера Дженкинса со сном внутри?

#jenkins #jenkins-pipeline

#Дженкинс #дженкинс-конвейер

Вопрос:

У меня есть конвейер Дженкинса с несколькими этапами, один в середине содержит режим «безопасности», поэтому у меня есть время перепроверить развертывание с предыдущих этапов.

 stage('Wait 15 minutes') {
  steps {
  sleep 900
  }
}
  

Есть ли какой-либо способ, как я мог бы потенциально вручную пропустить этот этап, чтобы ускорить конвейер, когда я обнаружу, что все предыдущие этапы стабильны?

Ответ №1:

Вот так, шаг ввода пользователя может занять ваше время сна, и вы можете использовать его в более поздней команде сна, которая также позволяет вводить 0, что означает отсутствие времени ожидания.

 node{
            // Get the input
            def userInput = input(
                    id: 'sleeptime', message: 'Enter sleep time.',
                    parameters: [
                            string(defaultValue: "10",
                                    description: 'time to sleep',
                                    name: 'sleeptime'),
                    ])

            sleep userInput.sleeptime
  

}

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