Дженкинс: как проверить артефакт от 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. См. Документацию . Для загрузки последней версии из репозитория см. Ответы на этот вопрос.