2013-09-13 3 views
0

Я использую Maven Release Plugin для автоматизации сборки & процесса выпуска. Он работает нормально, но одна проблема, с которой я столкнулся.Как автоматизировать работу в Дженкинсе?

Я создал задание, которое проверяет багажник каждые 15 минут, если какие-либо изменения обнаруживают, что он начинает сборку &. Процесс его работы отлично.

Но, небольшая проблема возникает, когда выполняется release:prepare, он создает тег и автоматически увеличивает версию trunk/pom.xml (с SNAPSHOT) до следующей версии версии SNAPSHOT.

Предположим, что моя текущая версия сборки 2.0-SNAPSHOT. После успешного создания создайте тег всего 2.0 (без SNAPSHOT). Также он автоматически увеличивает pom.xml внутри ствола до 2.1-SNAPSHOT.

Проблема в том, что мой Jenkins (crontab), проверяющий багажник каждые 15 минут, обнаруживает новую версию внутри багажника (то есть pom.xml). И он снова создает новую сборку. Этот процесс происходит снова и снова. Где я знаю, что в trunk нет изменений кода, только версия увеличилась на release:prepare.

Ниже я даю снимок экрана Дженкинса для справки.

Jenkins settings

Любая помощь будет оценена.

Заранее спасибо.

ответ

1

Обычно в моментальных снимках Maven запускаются изменения в исходном коде, а сборки релизов создаются по требованию (при выпуске кода). Это рабочий процесс, поддерживаемый плагином релиза Maven.

Неясно, установлены ли у вас Дженкинс M2 release plugin или нет? Он обеспечивает удобную кнопку «Отпустить», чтобы инициировать выпуск сборок на вашей работе.

+0

Спасибо за ответ. Но, как лет Я знаю, что у меня не установлен M2 Release Plugin? –

+0

Уже установлен Maven Release Plugin. Я думаю, что некоторые другие проблемы могут быть. –

0

Вы, кажется, поставили цели релиза в разделе «Цели и параметры» в разделе стандартной сборки. Это определяет сборку, что происходит, когда новый код проверяется.

Вы должны изменить «Цель и варианты», чтобы что-то вроде clean deploy (который будет просто развернуть снимок в удаленное хранилище.

Вы должны затем нажмите checkbox "Maven release build" в разделе «Build Environment». Он будет предварительно заполнен стандартными командами релиза. Эти команды будут запускаться только при нажатии кнопки «Выполнить Maven Release» на первой странице задания.

enter image description here

+0

Спасибо за ваш ответ. Но я не хочу нажимать «Выпустить Maven Release». Это должно быть автоматизировано. Теперь все работает нормально, требуется только тогда, когда jenkin обнаружит изменения в багажнике, которые он будет строить и выпускать автоматически. –

Смежные вопросы