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