Jenkins: запуск Maven Release вручную в конвейере сборки
У меня проблема с настройкой Jenkins (1.6), и до сих пор не найдено решение.
Что я хочу сделать:
У меня есть 4 задания (StartJob, TestA, TestB, ReleaseJob), и я хотел бы иметь "конвейер", который говорит:
- Начните с "StartJob"
- После этого постройте "TestA" и "TestB" параллельно
- Когда "TestA" и "TestB" закончили, позвольте мне вручную запустить ReleaseJob
Что я пробовал до сих пор
Я использую плагин доставки конвейера, чтобы иметь возможность получить хороший вид конвейера и установить ручные триггеры, которые вы можете просто определить в действиях после сборки. До сих пор это работало довольно хорошо.
Моей первой попыткой было использование подключаемого модуля, который просто не работал вообще. Он всегда запускал последнюю сборку сразу - независимо от того, были ли "TestA" и "TestB" действительно успешными.
Для второй попытки я использовал плагин Multijob и определил 2 фазы: первая включала только "StartJob", а вторая включала "TestA" и "TestB". После этого я определил "ReleaseJob" как ручной триггер в действиях после сборки. Это сработало нормально, но я не в том смысле, что если я вызову "ReleaseJob", он не будет запускаться как "Maven Release".
Мои вопросы
Есть ли способ заставить задание "Выпуск Maven" создать как "Выпуск Maven"? (то есть вы не сможете просто использовать функцию "Построить сейчас")
Есть ли у вас какие-либо предложения относительно того, как я мог бы решить эту проблему по-другому?
Дополнительное примечание:
Я еще не использовал новую систему Pipeline в Jenkins 2 - я просто настроил ее для небольшого теста. Если вы не знаете решение для старого Jenkins, но знаете, как настроить его в качестве "закодированного конвейера" в Jenkins 2, меня это тоже очень заинтересует.
Большое спасибо и ура,
/ tehK
2 ответа
Я думаю, что предшественником плагина Pipline является плагин Buildflow, о котором вы не упоминали, что пытались. В другом потоке SO есть пример:
Как запустить работу Jenkins после успешного выполнения нескольких одновременных заданий?
Может быть, это даст вам некоторое представление о том, как его использовать
Я знаю, что вашему вопросу уже 2 года, но мне интересно, нашли ли вы когда-нибудь решение...
Вы пытались использовать HTTP Post в ваших действиях после сборки, чтобы вызвать плагин M2-Release-Plugin на задании Jenkins? Это был мой обходной путь, так как эта задача, вероятно, не будет выполнена командой Дженкинса в ближайшее время.