Дженкинс: как проверить артефакт от Nexus и Deploy на Tomcat-
Я связываюсь с созданием трубопровода Дженкинса.
Первый этап выполняется, компиляция кода проверяется, проверяется и развертывается в Nexus.
Я хотел бы сейчас сделать второй этап в конвейере, где война будет проверена у Nexus и развернута на tomcat.
На самом деле я уже включил плагин maven-tomcat для развертывания на Tomcat.
Мой вопрос: как я могу проверить последнюю сборку войны?
Есть ли для этого плагин maven или jenkins?
Большое спасибо,
Патрик
Ответы
Ответ 1
Ваш менеджер двоичных репозиториев (Nexus) должен идеально занимать следующую позицию в вашей общей архитектуре:
![enter image description here]()
Вы можете использовать Jenkins в качестве средства подготовки, но в идеале он должен запустить какой-то процесс, который вытаскивает артефакт, который будет развернут непосредственно из Nexus (если ничего более эффективнее).
Это намного проще, чем кажется. Например, API-интерфейс Nexus REST можно вызвать из оболочки script, чтобы загрузить любую требуемую ревизию артефакта. Например:
$CATALINA_HOME/bin/shutdown.sh
curl -o $CATALINA_HOME/webapps/myfile.war http://myrepo.com/service/local/artifact/maven/redirect?r=releases&g=com.myorg&a=myfile&v=1.1.1&e=war
$CATALINA_HOME/bin/startup.sh
Наконец, возможно, вы захотите рассмотреть выделенную систему для управления развертываниями? Интересным решением, с которым я играл, является rundeck, у которого есть плагин для Jenkins, Мне очень нравится rundeck, из-за этого простота - черта, которую он разделяет с Дженкинсом. Существует также plugin для Nexus, который позволяет rundeck предоставлять выпадающий список артефактов, подходящих для развертывания.
Ответ 2
Смотрите download-artifact-from-nexus.sh script в https://github.com/cescoffier/puppet-nexus/tree/master/files
В моем случае я изменил его, чтобы использовать wget вместо curl. По какой-то причине завиток не сработает для меня.
Ответ 3
Я предлагаю вам создать для этого нового пом. Таким образом, вы не привязаны к дженкинсам.
Вам не нужно явно проверять артефакт из нексуса (обратите внимание, что это называется загрузкой из репозитория в речи maven). Вы можете указать другое местоположение военного файла в плагине tomcat maven. См. Документацию . Для загрузки последней версии из репозитория см. Ответы на этот вопрос.