Как я могу настроить запуск выполнения между зависимыми заданиями? - PullRequest
5 голосов
/ 29 февраля 2012

Мой сервер Jenkins настроен на выполнение двух заданий, скажем, A и B.

Задание A запускается из-за изменений в Subversion, запускает модульные тесты и, в случае успеха, создает WAR и развертывает его в другой среде.

Если задание A выполнено успешно, то срабатывает задание B.Это задание запускает тесты для развернутой WAR.

Проблема состоит в том, что процесс развертывания занимает некоторое время, и WAR не готова вовремя, когда запускается задание B, и пытается его использовать.

Я ищу идеи о том, как отложить Задание B до тех пор, пока WAR не будет запущен и запущен.

Есть ли способ, как только Задание B будет запущено, чтобы ждать x секунд?Я действительно не хочу испытывать это в задании B, если смогу избежать этого.

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

Определенно есть способ подождать - просто введите sleep на первом этапе сборки оболочки. Кроме того, вы можете установить «Тихий период» - он находится в Дополнительные параметры проекта при создании сборки.

Это, однако, решение для бинтов, которое следует применять только в случае неудачи других подходов. Вы можете попробовать следующее: если есть способ выполнить процесс развертывания (запускается задание A) непосредственно перед тем, как он завершит работу с файлом, к которому у Дженкинса есть доступ, тогда вы можете использовать FSTrigger Plugin . См. Вариант использования 3 там.

1 голос
/ 01 марта 2012

Самый надежный способ выполнить эту работу - сделать задание А незавершенным до тех пор, пока развертывание не будет успешным, например, путем проверки правильности ответа по URL развернутого веб-приложения. В этом блоге описан один из способов сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...