Вопрос

Я пытаюсь настроить HUDSON, чтобы я смогу автоматически развернуть сборку (файл .war) в Tomcat. Недавно развернутая сборка будет использоваться кем-то для проверки приложения.

Я пытался использовать плагин развертывания, чтобы автоматически развернуть файл .war, и это работает. Тем не менее, работа, которая создает файл .war. С помощью плагина развертывания файл .war будет развернут в Tomcat каждый раз, когда сделан сборки. Поскольку код часто принимается, это будет означать, что веб-приложение также будет часто перезапущено, и это прерывает процесс тестирования.

Я ценю тот факт, что HUDSON запускает мою единицу-тесты и регулярно делает сборку, поэтому я не хочу менять триггеры для этой работы.

Я ищу способ, которым я могу вручную решить развернуть из Гудзона. Я пытался создать отдельную работу, которая будет развернуть .war с первой работы, но это не сработало. У кого-нибудь есть какой-то опыт, устанавливающий что-то вроде?

Это было полезно?

Решение

Как получить артефакты

Посмотрите на раздел "Как откат или перераспределить предыдущую сборку" на Развернуть страницу плагина. Отказ Это описывает основную идею. Он использует Скопировать артефакт плагин Чтобы скопировать артефакты из задания сборки на текущую работу (Работа в развертывании). Оттуда вы делаете то же самое, что вы сделали на шаге вашего сборки.

Как вызвать развертывание

Работа сборки не может быть запущена после запуска развертывания, чтобы сначала выполнена сборка, а также задание развертывания. Итак, там несколько вариантов:

  • вручную сборка. Пользователь, который запускает развертывание, необходимо выбрать определенный прогон задания сборки.
  • запланированное развертывание Это может быть частью ночных задач. Работа запускается на определенный интервал (как каждую ночь или каждые выходные). Поскольку он автоматизирован, задание развертывания должно поднять последнюю успешную сборку (вам не нужно параметризованное задание). У вас нет шансов пройти в бега.
  • Работа развертывания получает срабатывает каждый раз, когда сборка заканчивается успешным (не соответствует вашему требованию, но перечислено завершить список)
  • Немного Другой (эзотерический) триггер. Отказ Это может быть много разных думаю, например, удаленно вызвало, вызывая URL-адрес сборки. Вызов может прийти от одного из ваших систен с билетами, системой управления лабораторией Test Lab или любую другую систему. Вы также можете вызвать развертывание, по конкретным изменениям в вашей системе управления источником, например, изменение номера выпуска (например, отмеченное ключевому слову в сообщении COMBING). Этот триггер может быть реализован внутри или за пределами HUDSON. Есть другие триггеры тоже доступны. Это включает в себя, но не ограничивается изменением HTML-страницы, изменение контрольной части файловой системы, IM-сообщения, электронной почты. Первые три реализованы плагином HUDSON. Посмотрите на список плагинов, чтобы узнать, что все получено или в обоих случаях необходимо убедиться, что архивирование заданий по сборке все артефакты, необходимые для развертывания.

Другие советы

У меня есть несколько рабочих мест HUDSON на проекты:

  1. Основная работа, которая просто строит проект и управляет тестами. Если он преуспевает, он запускает следующие задания:
  2. Работа метрики кода (PMD, Findbugs, Cobertura, CheckStyle, также Generation Javadoc) и
  3. Работа развертывания, которая создает проект, использующий mvn package -DskipTests и развертывает войну на томат

Я считаю, что разделяя эти вещи облегчают, только первая работа слушает изменения SCM.

Однако еще один способ позволить 3-й работе также слушать SCM (но с более длинным интервалом, возможно, в час).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top