Я пытаюсь настроить полный CI-сервер, но я борюсь за некоторые моменты.
В настоящее время моя система работает следующим образом:
Я фиксирую локальные изменения в своем локальном репозитории GIT, а затем отправляю их в репозиторий GIT на сервере CI
Затем у меня появляется задание jenkins, вызванное изменением SCM, который запускает чистую установку и тем самым выполняет все мои тесты Junit и Jstestdriver (через локальный сервер jstd). Это задание развертывает артефакт моментального снимка в репозитории моего репозитория nexus
Я установил M2-release-plugin для jenkins и соответственно установил свой pom.xml, используя maven-release-plugin. Когда я нажимаю «Выполнить релиз Maven» на странице работы jenkins, Дженкинс запускает mvn release: prepare release: execute, создавая таким образом тег в моем репозитории git (скажем, v000001) и развертывая версионный артефакт в моем репозитории nexus.
Я действительно не знаю, хорошо ли этот процесс, но я так думаю ...
Моя проблема в том, что я хочу доставить версионный артефакт в моем репозитории nexus (скажем, «artifact-v0000001.war») в моем производственном коте. Но я не могу понять, как это сделать.
Когда я делаю "mvn release: prepare release: execute tomcat: deploy", он развертывает новый встроенный артефакт SNAPSHOT ... Я не хочу этого делать, я хочу повторно использовать артефакт из хранилища Nexus.
Есть ли способ сделать это с помощью инструмента (плагин maven / jenkins или внешний)?
По сути, я хочу получить последний артефакт выпуска в хранилище и отправить его менеджеру tomcat для отмены развертывания веб-приложения.
Нужно ли настраивать задание доставки отдельно от задания высвобождения?