2014-12-15 2 views
1

У нас есть Maven проектов по мерзавец со структуройСтроительство/Ожидание родительской работы последней версия

-- 
    pro-A 
    -- 
    pro-B 
    -- 
     pro-C 
     pro-D 
     -- 
     pro-E 

Всеми этим проект с их собственной репо в мерзавце и их собственное наращивание трубопровода в Дженкинс с этапом следующего

build -- deploy to TEST -- run tests -- (manual tigger) deploy to QA 

Каждая сборка развертывается в maven repo с добавленным к ней номером сборки jenkins и объединяется для освобождения ветки от ведущего и тега с новым номером версии: например 1.0.9-649

Итак, pro-A является родителем всех проектов, pro-B зависит только от pro-A, pro-C и pro-D на том же уровне, что они не зависят друг от друга но имеют зависимость от pro-B, pro-E имеют зависимость от всех других. Про-A, B, C, D

Когда изменение нажата, gitlab запускает сборку для соответствующего проекта. Теперь проблема заключается в том, что когда, скажем, изменения A и D и сборка Ds запускаются до того, как существует хорошая вероятность того, что сборка завершится неудачно, поскольку она зависит от нового кода A.

Мой вопрос в том, можно ли приостановить сборку Ds до тех пор, пока A не закончит строительство?

Я думал что-то вроде в предстеречьте D попытаться выяснить, имеет ли последняя фиксация более позднюю временную метку, чем ветвь выпуска, а затем запускает сборку с родителем, но не знает, как это сделать?

+0

Напоминает мне https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin. Должна быть возможна работа, зависит от другой. – VonC

+0

Мы уже используем «Build Pipeline», так как я упомянул, что зеркальное отражение требования зависимости для сборки-конвейера становится очень беспорядочным, поэтому я ищу альтернативный способ запуска построения зависимостей и дождаться его завершения – rojanu

ответ

1

Существует способ приостановить сборку D до тех пор, пока не закончится. Вам необходимо будет установить: «Параметризированный плагин триггера». После установки перейдите в конфигурацию D. В разделе «Построить», «Добавить шаг сборки», выберите «» «Триггер/Звонок строит другие проекты».

После этого поместить «A» в «Проекты построить», а затем проверить «Block, пока срабатывают проекты не закончат их строит». Сохраните конфигурацию.

Это должно соответствовать вашим требованиям.

Смежные вопросы