Как я могу непрерывно развертывать на jenkins, но только когда на определенную ветку добавляется? - PullRequest
2 голосов
/ 26 января 2012

Я прочитал статью, описывающую непрерывное развертывание с jenkins следующим образом:

  1. Создайте тестовое задание, которое запускает ваши тесты.
  2. Создайте развертывание, которое развертывает ваше приложение.
  3. Сделайте «тестовый» триггер задания «развернуть» при успешной сборке.

Я могу сделать это просто отлично.Тем не менее, сейчас у меня есть общая «тестовая» работа, которая запускает тесты для любой ветви, которую я нажимаю.Есть ли способ заставить его запускать задание «развертывание» только в том случае, если я нажал на «производственную» ветвь?

В противном случае я всегда могу добавить второе задание «тестирование», которое срабатывает только при нажатиив производство, и это вызывает развертывание впоследствии ... но это не то, что я хочу сделать.

1 Ответ

0 голосов
/ 27 января 2012

Альтернативная настройка - использовать rundeck для развертывания.

Плагин jenkins имеет функцию, которая запускает развертывание на основе сообщения фиксации SCM:

Поле «тег» используется для выполнения планирования заданий «по требованию» в RunDeck: если значение не пустое, мы проверим, содержит ли журнал изменений SCM (= сообщение о фиксации) данный тег, и только расписание выполнение задания, если оно присутствует. Например, вы можете установить значение «#deploy». Обратите внимание, что если это значение оставить пустым, мы ВСЕГДА будем планировать выполнение задания.

Таким образом, вы можете настроить rundeck для запуска теста Дженкинса после каждого успешного развертывания. И управляйте этими развертываниями, используя сообщения коммита в коде.

...