Непрерывная интеграция сервера новичка - PullRequest
2 голосов
/ 08 июля 2011

Я пытаюсь настроить полный 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 для отмены развертывания веб-приложения.

Нужно ли настраивать задание доставки отдельно от задания высвобождения?

Ответы [ 2 ]

0 голосов
/ 17 октября 2011

Ваша проблема в том, что вы, вероятно, используете плагин релиза Jenkins, а не "плагин релиза m2". Проблема со стандартным плагином заключается в том, что он выполняет обычную сборку, сохраняет артефакты, а затем выполняет выпуск. Затем он попытается развернуть неправильные артефакты, созданные в обычной сборке.

Плагин выпуска m2 решает эту конкретную проблему. Существует несколько хитрых решений для этой проблемы, но до тех пор, пока эта функция не будет реализована, она такова: https://issues.jenkins -ci.org / browse / JENKINS-11120 (войдите и проголосуйте за это! )

0 голосов
/ 23 августа 2011

Дженкинс, особенно в сочетании с таким инструментом, как ANT, может делать практически все. Он имеет множество плагинов, и вы всегда можете написать скрипт и включить его в сборку Jenkins. В настоящее время я использую Jenkins для развертывания веб-приложений на серверах Windows IIS. Здесь вы можете создать сборку Jenkins, в которой задан путь SVN в разделе управления исходным кодом, чтобы он выбирал последнюю версию при запуске сборки. Оттуда должно быть довольно просто написать сценарий ANT, который скопирует его в существующий JAR в Tomcat, который автоматически перезапустит его.

...