Я установил Deploy Plugin
на свой Jenkins
, чтобы автоматизировать развертывание моего Maven
собрал war
пакетов в Tomcat 7
. Проблема в том, что я могу использовать плагин для развертывания на удаленном сервере Tomcat, только если они сделаны в рамках того же задания, которое использует плагин развертывания. Другими словами, мне не удалось настроить автономное задание, которое развертывает артефакты, созданные другим заданием.
Например, у меня есть задание с именем pack.foo. Он использует исходный код в /var/lib/project/module для создания module.war и помещения его в /var/lib/project/module/target. эм>. Однако из-за настройки версии Maven артефакт, размещенный на странице артефактов pack.foo, выглядит примерно так: module-2.0.0-SNAPSHOT.war.
Единственный способ развернуть module.war — это добавить Post-build Action
в pack.foo и указать **/module.war в качестве URL-адреса удаленного менеджера Tomcat (при условии, что у меня есть учетные данные менеджера в конфигурации Jenkins). Затем вывод консоли задания регистрирует, что /var/lib/project/module/target/module.war был развернут по этому URL-адресу:
Deploying /var/lib/project/module/target/module.war to container Tomcat 7.x Remote with context
[/var/lib/project/module/target/module.war] is not deployed. Doing a fresh deployment.
Deploying [/var/lib/project/module/target/module.war]
Как я могу использовать этот или другой подключаемый модуль для развертывания артефакта WAR, созданного в отдельном задании Jenkins? Я хотел бы иметь отдельные задания для создания и развертывания артефактов. Плагин не находил **/module-2.0.0-SNAPSHOT.war или даже **/module.war, созданный другим заданием, хотя на диске определенно был файл, соответствующий этому шаблону.