Дженкинс удаляет задания при удалении ветки с помощью индексации веток

Есть ли способ сообщить Jenkins (2.2) удалить задания для удаленных веток? В настоящее время мой монитор сборки заполняется ветвями, так как задания не удаляются. Есть ли настройка для запуска этого поведения или это должно быть подано как ошибка?


person ligi    schedule 13.05.2016    source источник


Ответы (2)


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

Функция Multibranch рабочего процесса (предоставляемая подключаемым модулем рабочего процесса) предоставляет следующие ключевые возможности:

  • Автоматическое создание рабочего процесса (задания) в Jenkins для каждой новой ветки в репозитории (при условии, что веб-перехватчики зарегистрированы из GH в Jenkins).

  • Сборка специфична для этой дочерней ветки и ее уникальной истории изменений и сборки scm.

  • Автоматическая обрезка/удаление заданий для веток, удаленных из репозитория, в соответствии с настройками.

  • Гибкость индивидуальной настройки свойств ветви путем переопределения родительских свойств, если это необходимо.

ИЗМЕНИТЬ: проверьте настройки "Отбрасывать старые элементы" для вашего конвейера. Если у вас ненулевое «Максимальное количество старых элементов», то, если в вашей ветке было меньше сборок, чем это число, она никогда не будет удалена! Вы даже можете увидеть это в журналах:

Will not remove US12345 as it is only #1 in the list
Will not remove US23456 as it is only #2 in the list
Will not remove US34567 as it is only #3 in the list

РЕДАКТИРОВАТЬ. Вы также можете испытать удачу, добавив дополнительное поведение под названием "Удаление устаревших веток удаленного отслеживания" ("Поведение" -> "Добавить" -> Выбрать из раскрывающегося списка).

person madhead    schedule 13.05.2016
comment
Так что я буду считать это ошибкой, так как я использую настройку многоветвевого конвейера - спасибо - person ligi; 13.05.2016
comment
Я вижу то же самое... старые ветки не удаляются из Jenkins, когда они исчезают из репозитория. @ligi: вы сообщили об ошибке? - person kenyee; 16.02.2017
comment
Обратите внимание, что текущая версия плагина Multibranch PIPELINE имеет настройку для удаленных ветвей (и объединенных PR) в стратегии потерянных элементов, которая предлагает другую политику, чем для ветвей, которые все еще активны. Я считаю, что это был бы правильный ответ на сегодняшний день. - person Patrice M.; 21.11.2017
comment
Я тоже борюсь с этим, хотя он работал, в пользовательском интерфейсе обрезанных ветвей больше нет, но на диске задания все еще есть, использование диска продолжает расти. Я не могу заставить Дженкинса автоматически удалять элементы с диска - person pogorman; 12.02.2018
comment
Это по-прежнему является серьезной проблемой. - person Gudgip; 23.10.2018
comment
Есть новости по этому поводу на сегодня? - person mgouin; 25.11.2018

1) Go to Manage Jenkins -> Global Tool Configuration -> Git -> Add Git -> Choose JGit.

2) Затем перейдите к конфигурации многоветвевого конвейера и выберите JGit вместо Default под Branch Sources -> Git Executable.

3) Нажмите Branch Indexing -> Run now

Старые ветки должны исчезнуть

person StasKolodyuk    schedule 23.03.2017
comment
Где Branch Indexing -> Run now? - person user1394; 26.06.2020