Остановить выпуск mvn, запускающий повторные сборки Jenkins

[Выпуск через плагин maven-release-plugin, репозитории Git, размещенные на Atlassian Stash, который запускает конвейер сборки в Jenkins.]

Есть ли способ остановить выпуск, запускающий новый запуск конвейера? Это происходит потому, что выпущенные файлы pom возвращаются в Stash. Учитывая, что сборка только что произошла (чтобы перейти к заданию о выпуске), в этом совершенно нет необходимости, поскольку все, что изменилось по сравнению с последней сборкой, — это номера версий файла pom.


person Andrew Eells    schedule 03.09.2015    source источник


Ответы (3)


Плагин Jenkins git можно настроить так, чтобы он игнорировал определенные сообщения фиксации, [maven-release-plugin] в вашем случае.

введите описание изображения здесь

Обратите внимание, что пример в справочном тесте для игнорирования коммитов имеет некоторые проблемы, попробуйте мою версию: ^(?s)\[maven-release-plugin\].*

person blackbuild    schedule 03.09.2015

Спасибо @blackbuild.

На самом деле это не сработало, я думаю, потому что мы не опрашиваем Jenkins, а запускаем сборку из Stash (коммиты).

Спрятать вебхук для Дженкинса

Итак, в нашем случае, я думаю, ответ заключается в том, чтобы выполнять выпускные сборки с конкретным (ограниченным) пользователем, который затем может быть проигнорирован со стороны Stash.

Committers игнорировать

Однако я думаю, что ваш ответ хорош для тех, кто опрашивает репозиторий Git прямо с сервера Jenkins :)

Спасибо огромное! Андрей

person Andrew Eells    schedule 03.09.2015
comment
Он должен работать. Webhook только сообщает Jenkins, что все репозитории, использующие этот измененный репозиторий, могут опросить. Поэтому проверьте, соответствует ли комментарий коммита комментарию релизной сборки. - person blackbuild; 03.09.2015
comment
@andrewEells тебе вообще повезло с этим? :) - person Hafiz; 16.03.2017

Я застрял со старой версией Jenkins (v1.487), а версия плагина git, которая у нас есть, не имеет опции для Additional behaviors.

Мне пришлось использовать похожее, но не совсем то же решение, что и @Andrew Eells.

У меня есть Jenkins, опрашивающий репозиторий git и создающий его при обнаружении изменений. Моя сборка некоторое время находилась в бесконечном цикле, перестраивая каждый раз, когда плагин релиза выдвигал обновление pom.xml в конце сборки.

Чтобы решить эту проблему, я настроил конкретного пользователя в Github (не используя здесь Stash, но концептуально то же самое), чтобы всегда выполнять сборки. Затем я добавил его в расширенный раздел плагина git в Jenkins под Excluded Users. В основном то же самое, что и ответ Эндрю, но он настроен на игнорирование пользователя со стороны Дженкинса вместо Stash.

введите здесь описание изображения

person Jeremy    schedule 03.01.2017