Используя Дженкинса или Хадсона, я бы хотел создать конвейер сборок с точками разветвления и соединения, например:
job A
/ \
job B job C
| |
job D |
\ /
job E
Я хотел бы создать произвольные последовательно-параллельные графы , как это, и оставить Дженкинсу свободу планирования для параллельного выполнения B / D и C всякий раз, когда доступно ведомое устройство.
Плагин Join немедленно присоединяется после выполнения B. Плагин Build Pipeline не поддерживает точки разветвления / соединения. Не уверен, что это возможно с плагином Throttle Concurrent Builds (или устаревшим плагином Locks & Latches); если так, я не мог понять, как. Одним из решений может быть указание зависимостей сборки с помощью Apache Ivy и использование плагина Ivy. Тем не менее, все мои работы выполняются на скриптах Makefile C / C ++ / shell, и у меня нет опыта работы с Ivy, чтобы проверить, возможно ли это.
Как лучше всего указать параллельные задания и их зависимости в Jenkins?