Дженкинс: развертывание военных файлов от искусственных
Мы используем Jenkins для создания (maven) и развертывания артефактов (JAR и * WAR * s) на собственном искусственном сервере (как моментальных снимках, так и выпусках).
Для развертывания в настоящее время мы получили задания Jenkins, которые упаковывают военный файл (из тега scm release) и развертываются в разных средах/серверах. Мы хотим пропустить фазу пакета, поскольку кажется излишним ее снова и снова упаковывать для выпущенной версии, потому что невозможно получить другую копию военного файла даже после попытки 1000 раз.
Мы ищем способ в Дженкинсе получить артефакт (войну) от Artifactory и развернуть его в контейнере. Я уверен, что другие люди тоже столкнулись бы с этой ситуацией, но я не могу найти никаких онлайн-материалов по этому поводу.
Есть ли какой-либо плагин Jenkins, который берет военный файл из Artifactory (на основе версии) и развертывает его в удаленном контейнере?
Если это неправильный способ сделать это, то каковы рекомендации для любого другого подхода?
Спасибо
Ответы
Ответ 1
Я не знаю о плагине, который принимает версию # и развертывает его, но вы можете создать задание Jenkins для развертывания последней успешной версии в предыдущей среде (например, копирование с DEV → QA).
Для этого вы должны использовать плагин copy-artifact.
Здесь легко следовать прогону такого рода настроек:
http://www.lordofthejars.com/2012/09/deploying-jee-artifacts-with-jenkins.html
Ответ 2
Каждый артефакт, хранящийся в Artifactory, будет иметь уникальный URL-адрес, содержащий номер версии. Он примет формат
http://artifactory-server/repository-name/path-to-artifact/version/filename
например.
http://artifactory/apps-releases-local/com/yourorg/yourapp/1.5.67/webapp.war
(в зависимости от того, как вы делаете свою упаковку, имя файла WAR также может содержать номер версии).
Итак, ваше задание развертывания может создать URL-адрес Artifactory и загрузить файл. В зависимости от того, как у вас установлена безопасность в Artifactory, вам может потребоваться аутентификация запроса.