Есть ли способ ограничить количество сборок Jenkins, запускаемых событием слияния Gerrit, которое было отправлено с помощью «Отправить вместе с родителями»? - PullRequest
0 голосов
/ 30 мая 2019

После завершения серии локальных коммитов в локальной ветке проекта с использованием git и Gerrit я помещаю эту серию изменений в Gerrit для проверки и в конечном итоге слияния.В Gerrit я вижу кнопку «Отправить с родителями» для всех, кроме одного коммита.Это ожидаемое поведение, и я понял, почему.

В Jenkins я также использую Jenkinsfile для построения своих конвейеров, и при этом я также использую плагин Gerrit Triggers, чтобы реагировать на поток событий вГеррит.В частности, я подключаюсь к событию слияния, чтобы запустить готовые к выпуску сборки для целей тестирования.

Когда я отправляю каждое изменение индивидуально, Дженкинс запускает сборку и движется по своему веселому пути, создавая вещи по одному.Но ... Если я сливаюсь с родителями (предположим, что реализована большая функция), Геррит вызывает событие для каждого коммита в серии.Что мне любопытно узнать, есть ли способ у Дженкинса или Геррита обрабатывать событие только из дочернего коммита и опускать события для родителей?

1 Ответ

0 голосов
/ 30 мая 2019

У Дженкинса / Геррита нет способа справиться конкретно с этим, но я предложу некоторые обходные пути:

1) Вы можете добавить «Тему» в триггер Gerrit на Jenkins с помощью чего-то вроде значения «build». Делая это, Jenkins будет создавать только объединенные изменения этой темы, и вам нужно только добавить тему «build» в дочернее изменение, чтобы сообщить Jenkins, какой коммит вы хотите построить.

2) Вы можете изменить триггер Gerrit с «Изменить слияние» на «Добавлен комментарий, содержащий регулярное выражение» с чем-то вроде значения «build». Делая это, Jenkins не будет строить, когда изменения объединены, и вы можете запустить сборку из дочернего коммита, просто добавив комментарий «build» в дочернее изменение на Gerrit.

Надеюсь, это поможет

...