Частота сборки Jenkins основана на предыдущем статусе сборки - PullRequest
0 голосов
/ 05 марта 2019

У меня есть конвейер Jenkins, который должен запускаться каждые 4 часа.Однако мои требования состоят в том, чтобы после сбоя сборки я хотел, чтобы сборки происходили чаще, и постоянно посылаю напоминания о том, что сборка не работает.Короче говоря, график сборки должен зависеть от статуса предыдущей сборки.

Возможно ли это в Jenkins?

Спасибо,

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

В Scripted Pipeline вы можете сделать что-то вроде этого:

def triggers = []

if(currentBuild.getPreviousBuild().result != 'SUCCESS') {
    triggers << cron('0 */1 * * *') // every hour
} else {
    triggers << cron('0 */4 * * *') // every 4 hours
}

properties ([
    pipelineTriggers(triggers)
])

node {
    ...
}
0 голосов
/ 05 марта 2019

Я не могу придумать прямой путь, но у вас может быть обходной путь.Вы можете иметь копию той же самой работы (назовем это заданием 'B') и запускать ее, когда сборка первой работы не удалась (назовем это заданием 'A').Теперь, если B снова не удается, вы можете повторно запустить его (B) (добавив немного времени ожидания) и отправить уведомление после сбоя, продолжайте делать это, пока не пройдет.Это будет сделано намного проще, если вы используете скриптовый конвейер Jenkins.Надеюсь, что этот ответ поможет вам.

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