Последующее выполнение следующего задания, даже если предыдущее задание не выполнено в потоке сборки 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
Если вы хотите построить какую-то работу в случае неудачи другой).