Подтвердить что ты не робот

Jenkins auto deploy tomcat 7

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

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

auto deploy plugin

Для шагов публикации задано "запустить независимо от результата сборки".

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

Вот последняя часть, которую выдает Дженкинс (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 файл на то, чего не существует, и он не даст мне ошибок, что странно. Что я здесь делаю неправильно?

4b9b3361

Ответ 1

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

мишень/whatever.war

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

< user username = "tomcat" password = "pencil" role = "manager- script" /" >

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

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

Ответ 2

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

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

Как только у вас установлен плагин, вам просто нужно включить задачу "Создать сборку" и добавить следующую строку:

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, но с помощью команды выше вы регистрируете вывод и видите, была ли проблема с развертыванием.


Здесь документация, связанная с сервисом/manager/text

Ответ 3

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

mvn cargo:deploy -Pintegration

Таким образом, я смог ежедневно очищать свои сборки и развертывать их в Tomcat. Впоследствии я проводил тесты на отдых.

Ответ 4

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

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

Ответ 5

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

Ответ 6

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

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

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

Ответ 7

сохранить роли manager-gui, admin-gui для пользователя, который настроил страницу Jenkins

Пример: -

 <tomcat-users>

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

 </tomcat-users>