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? Это был мой обходной путь, так как эта задача, вероятно, не будет выполнена командой Дженкинса в ближайшее время.

Другие вопросы по тегам