Как вызвать нижестоящее задание jenkins только успешно выполненные оба задания вверх по течению
Я создал задание A, которое ищет успешные исходные задания (задание B и задание C) и запускает сценарий оболочки для проверки условия.
После успешного выполнения задания B и задания C задание A выполняет последующие задания (задание D и задание E).
я использовал reverse
(для настройки заданий восходящего направления) и downstream-ext
(для настройки последующих заданий) плагины в задании A с использованием JJB.
Проблема, с которой я сталкиваюсь, заключается в следующем: после успешного выполнения задания B без ожидания результата задания C. Задание A должно дождаться как задания B, так и задания C, а затем выполнить на основе результата.
Не могли бы вы помочь мне, как настроить этот сценарий.
2 ответа
Вы можете попробовать использовать подключаемый модуль, вот документация:
https://wiki.jenkins-ci.org/display/JENKINS/Join+Plugin
Это будет проще, если вы преобразуете свою работу A в поток сборки https://wiki.jenkins.io/display/JENKINS/Build+Flow+Plugin?focusedCommentId=60917290 или, что еще лучше, преемник Pipeline 2.0 https: // jenkins.io / документ / книга / трубопровод /
(Groovy) Код в A будет выглядеть примерно так:
if (build('scenario-B-Job') && build('scenario-C-Job')) {
build('scenario-E-Job')
build('scenario-D-Job')
} Вы также можете распараллелить (B,C, а затем D,E), чтобы сократить общее время выполнения, если у вас достаточно подчиненных.