Статьи

Grails & Hudson Part 4: Автоматизированное развертывание

Это быстрый пост, описывающий шаги, необходимые для того, чтобы заставить Хадсона развернуть приложение Grails на удаленном сервере Tomcat.

Tomcat
Сначала вам нужно убедиться, что на Tomcat установлено приложение менеджера (например, в Debian Lenny пакет tomcat5.5-admin в стабильной версии ) и что $ TOMCAT_HOME /conf/tomcat-users.xml настроен с пользователем менеджера. например

<tomcat-users>
<user name="admin" password="top_secret_password" roles="admin,manager" />
</tomcat-users>

Примечание : Вы также можете переварить пароль и настроить область для использования паролей дайджеста …
Обновление: см. Этот пост .

Hudson
Вернувшись в Hudson, вам нужно будет установить плагин Deploy .
Это следует тому же процессу, который мы рассмотрели во второй части этой серии (на этот раз мы не будем использовать скриншоты):

  1. На главной панели инструментов Hudson нажмите на пункт меню «Manage Hudson»
  2. Нажмите на «Управление плагинами»
  3. Перейдите на доступную вкладку, найдите и выберите Deploy , нажмите кнопку установки.
  4. Когда плагин будет загружен и установлен, вам нужно будет перезапустить Hudson (вы можете использовать предоставленную кнопку).

В вашей работе над Grails нам нужно дать указание сборщику Grails упаковать файл war, но сначала мы установим номер версии приложения Grails, используя номер сборки Hudson для отслеживания.

  1. Установите номер версии, используя переменную Hudson:


    «Set-version 1.0.0. $ {Env [‘BUILD_NUMBER’]}»

  2. Постройте войну (например, для продвинутой войны с именем ggug.war):


    «Prod war ggug.war»

Двойные кавычки необходимы для правильной группировки аргументов.

Наконец, мы дадим команду Hudson для развертывания на «удаленном» сервере Tomcat:

Советы
Я часто использовал это для автоматизированного развертывания в подготовительных средах (вместе с плагином Grails Autobase ). Однако для оперативных развертываний, которые требуют большего контроля, я обычно вместо этого использую плагин SCP, а затем вручную вызываю сценарий развертывания (или обрабатываю с помощью инструмента управления конфигурацией, например, Puppet — см. Их пост- военное развертывание ).

Кроме того, я обычно делю компиляцию / тестирование и развертывание на два задания Hudson — это позволяет отделить проблемы развертывания (например, Tomcat от пространства permgen) от ошибок компиляции или автоматического тестирования. Если вы сделаете это, вам, вероятно, понадобится плагин Hudson Next Build Number .

Источник:
http://leanjavaengineering.wordpress.com/2010/12/31/grails-deployment-in-hudson/