Это быстрый пост, описывающий шаги, необходимые для того, чтобы заставить Хадсона развернуть приложение 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 .
Это следует тому же процессу, который мы рассмотрели во второй части этой серии (на этот раз мы не будем использовать скриншоты):
- На главной панели инструментов Hudson нажмите на пункт меню «Manage Hudson»
- Нажмите на «Управление плагинами»
- Перейдите на доступную вкладку, найдите и выберите Deploy , нажмите кнопку установки.
- Когда плагин будет загружен и установлен, вам нужно будет перезапустить Hudson (вы можете использовать предоставленную кнопку).
В вашей работе над Grails нам нужно дать указание сборщику Grails упаковать файл war, но сначала мы установим номер версии приложения Grails, используя номер сборки Hudson для отслеживания.
- Установите номер версии, используя переменную Hudson:
«Set-version 1.0.0. $ {Env [‘BUILD_NUMBER’]}»
- Постройте войну (например, для продвинутой войны с именем 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/