Подтвердить что ты не робот

Как настроить Jenkins для создания проекта из разных веток в Mercurial

У меня есть работа по созданию Jenkins с триггером Mercurial на ветке по умолчанию, которая отлично подходит для создания "кандидатов на выпуск". Затем это задание запускает задание smoke test.

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

Я хотел бы выполнить задание Jenkins, вызванное изменениями в любой ветке, которые затем будут строить и запускать тесты дыма для всех ветвей, которые нуждаются в обновлении. Каждый раз, когда мы делаем сборку, мы должны создавать артефакты, названные в соответствии с веткой.

Я видел предложение в другом ответе на использование "подсказки" вместо имени ветки в триггере Mercurial - это возможность, но я думаю, что она попадет в категорию "в основном работает". Триггер - опрос, поэтому, если в течение интервала опроса происходят изменения в более чем одной ветки, то обновление ветки может быть пропущено.

Я могу создать новое задание каждый раз, когда создается ветка, но из-за динамического характера наших ветвей это будет много текущей работы.

4b9b3361

Ответ 1

Думаю, вам нужно будет настроить: на задание опроса верхнего уровня (настроенное на подсказку) запускается пользовательский script, который определяет ветки, которые были изменены или были добавлены. Затем он будет использовать Jenkins API для запуска задания, заданного параметром имени ветки. Этот параметр может использоваться в вашей задаче для настройки всего, что вам нужно, по имени ветки (включая артефакты).

Ответ 2

Если вы решите пойти с заданием для каждого подхода к ветки, следующие инструменты могут сделать задачу более управляемой: