Дженкинс автоматическое развертывание tomcat 7


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

проект построен успешно,и мы используем плагин Jenkins deploy. Он настроен со следующими параметрами:

шаги Post установлены на "запуск независимо от результата сборки".

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

вот последняя часть, что Дженкинс (Maven) выходы:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:24.506s
[INFO] Finished at: Tue Feb 14 12:10:45 UTC 2012
[INFO] Final Memory: 22M/52M
[INFO] ------------------------------------------------------------------------
channel stopped
Finished: SUCCESS

Я также могу изменить файл WAR / EAR на что-то, чего не существует, и это не даст мне ошибок, что довольно странно. Что я здесь делаю не так?

7 57

7 ответов:

У меня была та же проблема, и в моем случае (относительный) путь к файлу WAR был неправильным. По-видимому, если вы не имеете его точно правильно (он должен быть относительно корня рабочей области), то плагин развертывания будет молча терпеть неудачу. В моем случае путь:

цель/что угодно.война

Как только это было исправлено, я столкнулся с другой проблемой в том, что плагин ожидает подключения к менеджеру / текстовой версии Tomcat Manager, а не к менеджеру / html версия, которую я обычно настраиваю по умолчанию. Вам понадобится строка в ваших tomcat-пользователях.xml-файл выглядит следующим образом:

(Это в дополнение к роли "менеджер-gui", которую вы, вероятно, уже настроили.)

Как только эти изменения были сделаны, сборка и развертывание работали просто отлично.

Я использую Hudson Post Build Task plugin для выполнения curl против API / manager / text

указанные модули могут быть выбраны и устанавливается из списка доступных плагинов в конфигурации Jenkins.

после установки плагина вам просто нужно включить "Post build task" и добавить следующую строку:

curl -T - -u user:pass 'http://<tomcat-host>/manager/text/deploy?update=true&path=/<yourpath>' < <path_to_war_file>

например:

curl -T - -u manager:123456 'http://localhost:8080/manager/text/deploy?update=true&path=/slim' < /target/dist/slim.war

вы также можете использовать wget, но с помощью команды выше вы регистрируете вывод и смотрите, была ли проблема с развертыванием.


здесь документация относятся к /руководитель/текст сервис

Хм вы использовали груз плагин? Ну, у меня также была такая же конфигурация, как у вас, Дженкинса, мэйвена и томкэта. Но когда мне нужно было развернуть, я просто использовал этот плагин. Это было некоторое время на самом деле, но в Дженкинсе вы смогли ввести строки командной строки правильно? Как mvn clean install? Итак, что вы можете сделать, это просто настроить свой плагин pom для Cargo, а затем добавить эту строку в свой Jenkins:

mvn cargo:deploy -Pintegration

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

для чего это стоит, последняя версия плагина развертывания для Jenkins, похоже, нуждается только в базовом url. Итак, для меня это было http://blah.com:8080

до этого я пробовал множество других вариантов, включая host-manager / html, host-manager/text

предполагая, что Дженкинс находит ваш пом.XML для компиляции. Установите свои цели и параметры в конфигурации Дженкинса в скомпилировать пакет. Затем Дженкинс попытается найти ваш военный файл и развернуть его. удача.

Я попытался использовать решение target / whatever.война но это не работа поэтому я попытался использовать */.война и это работа

вы можете видеть, что на Дженкинс окончательное руководство RU Необходимо указать, где найти нужные файлы в рабочей области другого задания сборки, и где Дженкинс должен поместить их в рабочее пространство вашего текущего проекта. Это может быть гибкое регулярное выражение (например,*/.война, для любого файла войны, созданного сборкой работа), или это может быть гораздо более точным (например, gameoflife-web/target/gameoflife.война.)

или развертывание в Tomcat с подключением DEPLOY

сохранить менеджер ролей-gui, admin-gui для пользователя, который был настроен Jenkins page

пример:

 <tomcat-users>

   <user username="uname" password="pword" roles="manager-gui,admin-gui"/>

 </tomcat-users>