Последующее выполнение следующего задания, даже если предыдущее задание не выполнено в потоке сборки Jenkins

У меня есть поток сборки, который строит 4 задания в последовательности

например;

build(Job 1)
build(Job 2)
build(Job 3)
build(Job 4)

Я хочу запустить задание 4, даже если любое из предыдущих заданий также не удалось. Как я могу сделать это в процессе сборки?

3 ответа

Вы можете установить распространение в false, что обеспечит продолжение вашего рабочего процесса в случае сбоя определенного задания:

build job: '<job_name>', propagate: false

Для меня, propagate: false не сработало, поэтому я использовал ignore(FAILURE) вместо этого в моем BuildFlow, чтобы убедиться, что все задания в потоке выполняются, даже если есть сбои. ( Ссылка)

  ignore(FAILURE) {
        build("JobToCall",  Param1: "param1Val", Param2: "param2Val")
    }

Вы можете использовать Jenkins Workflow Plugin следующим образом:

try {
  build 'A'
} catch(e) {
  echo 'Build for job A failed'
}
try {
  build 'B'
} catch(e) {
  echo 'Build for job B failed'
}

Вы можете расширить эту идиому на любое количество заданий или любую комбинацию потока успешных / неудачных попыток (например, добавление build шаги внутри catchЕсли вы хотите построить какую-то работу в случае неудачи другой).

Другие вопросы по тегам