Jenkins с автоматическим развертыванием кота 7 - PullRequest
57 голосов
/ 14 февраля 2012

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

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

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 на что-то, что не существует, и это не даст мне ошибок, что довольно странно. Что я тут не так делаю?

Ответы [ 7 ]

105 голосов
/ 01 апреля 2012

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

target / what.war

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

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

После внесения этих изменений сборка и развертывание работали очень хорошо.

8 голосов
/ 29 марта 2012

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

Указанные плагины могут быть выбраны и устанавливается из списка доступных плагинов в конфигурации 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 service

1 голос
/ 09 августа 2012

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

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

1 голос
/ 29 марта 2012

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

mvn cargo:deploy -Pintegration

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

0 голосов
/ 15 сентября 2014

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

пример: -

 <tomcat-users>

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

 </tomcat-users>
0 голосов
/ 26 апреля 2013

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

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

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

0 голосов
/ 14 марта 2012

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

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