Azure Политика хранения DevOps Server 2019 больше не работает - PullRequest
0 голосов
/ 29 января 2020

На прошлой неделе мы перешли с TFV C на Git на нашем сервере ADS 2019.1.

В нашем конвейере проверки у нас действует агрессивная политика хранения. Он настроен на сохранение в течение 2 дней, 10 хороших сборок с фильтром ветвлений *, и все флажки сняты. ADS записывает его в виде: + refs /head / *

Мы видим, что с момента миграции ни один из Git сборок были удалены. За последние 8 дней у нас есть сотни сборок с их объемом в несколько ГБ.

* Правильный ли фильтр для использования? Это был параметр по умолчанию, введенный ADS, мы действительно хотим, чтобы эта сборка удаляла все сборки для всех ветвей.

Я также пробовал **, но это не изменило, на странице результатов сборки, которую я вижу все сборки построены из временной ветви с номером 4 di git, который, вероятно, является номером запроса на извлечение.

Как мы можем обеспечить очистку сборок в соответствии с политиками хранения?

Определение сборки не связано с конвейером выпуска. Сборки запускаются из запросов извлечения, созданных разработчиками. Запросы извлечения помечаются как выполненные.

Другое определение сборки, одно из которых содержит триггер CI, запускаемый после каждой фиксации, по-прежнему удаляет сборки, основанные на определенной политике хранения.

Изображение наши настройки политики хранения TFS. Основные сборки очищены, сборки по запросу не являются Retention policy settings Pull request build

Список самых старых сборок в TFS после ручной очистки на прошлой неделе, эти сборки имеют возраст 4-5 дней, более 2-дневный лимит политики хранения. Кроме того, вы можете увидеть там не сохранить замок за ними. Oldest builds under build history

Обзор удаленных сборок. Там вы можете увидеть «основные» сборки, которые были удалены политикой хранения. Latest deleted builds

Показывает, что основные сборки удаляются после настройки политики хранения 2 дня Deleted build by retention

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

Вы также можете попробовать:

  1. Вкладка «Сохранение»
  2. Выберите политику (в вашем случае: «Хранить в течение 2 дней, […]»)
  3. В разделе «Фильтры ветвления» добавьте еще один
  4. Тип: «Включить», Спецификация ветки: «refs / pull / *»

Объяснение: Если вы открываете терминал в исходную папку агента сборки (с именем s) и запустите git branch --all, вы увидите множество веток, таких как refs/pull/1234 для каждого запроса на получение (например, 1234). Кроме того, если вы сравните спецификацию ветки * с путем, показанным слева (+refs/heads/*), вы увидите, что на самом деле не соответствует всем ветвям ...

0 голосов
/ 30 января 2020

Azure Политика хранения DevOps Server 2019 больше не работает

Согласен с Мэттом. Если артефактами конвейера выпуска является Build, конвейер сборки будет использовать удержание выпуска вместо сохранения сборки:

enter image description here

Итак , нам нужно проверить сохранение релиза, Project Settings -> Release retention:

Вы можете проверить эту информацию из документа Построить и выпустить политики хранения - Q & A .

Кроме того, если сборка будет сохраняться бесконечно, политика хранения больше не будет применяться.

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

...