Многоканальный конвейер Jenkins не будет обрезать удаленные ветки

В настоящее время у нас возникли проблемы с плагином исходного кода ветки bitbucket, используемым для обработки многоотраслевого тестового задания в одном из наших экземпляров Jenkins (производительный экземпляр):

Любая работа, связанная с удаленной веткой, не удаляется в Jenkins. Отображается как отключенный.

Проверяя Scan Multibranch Pipeline Log, я нахожу следующие записи:

Will not remove foobranch because it is new
Will not remove PR-1 because it is new
Will not remove bar because it is new
Will not remove freeDiskSpaceHack because it is new

У нас есть еще один экземпляр (тестовый экземпляр), где все работает должным образом - ветки удаляются немедленно, например. увидев в журнале следующее:

Will remove freeDiskSpaceHack
Will remove foo
  • В обоих случаях мы используем одну и ту же версию Jenkins (2.212.2) и версии плагинов.
  • Задания в обоих случаях используют одни и те же настройки для плагина исходного кода ветки Bitbucket:

Настройки подключаемого модуля исходного кода

  • Есть одно отличие: оба задания используют разные репозитории в битбакете; один из наших тестовых экземпляров (где удаляются задания) является ответвлением другого.

Кроме того, нет никакой разницы.

Мои вопросы:

  • Почему это не работает на нашем продуктивном экземпляре? Есть какая-то секретная настройка?
  • Что журнал хочет сказать мне, говоря: Will not remove <branch> because it is new.

Надеюсь, у кого-нибудь есть ключ к разгадке.


person Joerg S    schedule 07.08.2018    source источник
comment
Я наблюдаю такое же поведение с многоотраслевым конвейерным заданием, подключенным к предприятию GitHub. Я списал это на ошибку с многоотраслевым конвейером.   -  person Andrew Gray    schedule 08.08.2018
comment
Спасибо за комментарий. Вы зарегистрировали эту ошибку?   -  person Joerg S    schedule 08.08.2018


Ответы (1)


Наконец я сам нашел спрятанный переключатель. Хотя чувствую себя немного глупо.

В конфигурации задания вы можете указать, как долго хранить старые элементы. При первоначальной настройке этого задания я, должно быть, перепутал этот параметр с параметром, который сообщает Дженкинсу, как долго хранить старые сборки. Таким образом, было установлено 30 дней.

Кстати: на количество сборок, сохраняемых для отдельных веток, эта настройка не влияет ...:

Стратегия по осиротевшим предметам (как это выглядело)

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

Стратегия осиротевшего предмета (как она должна была выглядеть)

Однако, чтобы сразу избавиться от осиротевших веток, нельзя вводить туда число, например:

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

person Joerg S    schedule 08.08.2018
comment
Оба изображения выглядят одинаково. - person Rakesh; 14.11.2018
comment
Вы правы, спасибо, что указали на это. Придется это исправить. - person Joerg S; 16.11.2018
comment
Что, если я хочу удалить ветки заданий, которые удалены из репозитория, и в то же время я хочу сохранить некоторое количество сборок для активных веток заданий. Скажем: для активных веток я хочу сохранить последние 10 сборок, это никогда не удалит удаленные ветки из задания, если они выполняются только дважды. Я объясню? - person PRF; 22.08.2019
comment
Количество сборок, хранимых для одной ветки, - это другой параметр и не связан с этим параметром. Его необходимо настроить с помощью шага свойств. Возможно, вы захотите проверить шаг свойств именно для этой цели. - person Joerg S; 24.08.2019
comment
Мне этого решения было недостаточно. После его выбора мне пришлось перейти в раздел «Управление Дженкинсом» - ›Перезагрузить конфигурацию с диска. Как только я это сделал, следующее сканирование моего конвейера отбросило все старые ветки. Спасибо! - person u2Fan; 21.04.2020