Что контролирует сохранение сборок в облачных конвейерах Azure? - PullRequest
0 голосов
/ 13 июля 2020

У нас довольно распространенная ситуация с конвейером сборки и конвейером развертывания, когда конвейер сборки создает артефакт сборки (в нашем случае файлы PowerShell и json в .zip), а конвейер развертывания использует этот артефакт ( и образ виртуальной машины) для развертывания Azure ресурсов (в нашем случае виртуальных машин).

У нас проблема с сохранением артефактов сборки, так как - они - моя теория - находятся в папке сборок в azure и подчиняется правилам хранения.

Сохранение артефактов • Настройки проекта

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

Проблема в том, что старые «артефакты» исчезают без каких-либо объяснений - и хотя у нас все еще доступен базовый образ виртуальной машины, мы больше не можем создавать виртуальные машины для старых версий нашего программного обеспечения. В частности, они исчезают как параметры из этого раскрывающегося списка в конвейере развертывания:

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

Я думал, что раскрывающийся список загружается из списка файлов / артефактов, доступных в папке сборки или промежуточной папке конвейера сборки. Недавние исследования коллег-разработчиков опровергли мою теорию. От Microsoft нет документации о том, какие каналы раскрываются и что контролирует доступность артефактов, хотя мы подозреваем, что это все еще каким-то образом основано на конвейере сборки. В то же время кажется, что при использовании конвейеров Azure невозможно сохранить более старые (с точки зрения возраста или «# сборок назад») сборки, доступные для развертывания - и в это просто трудно поверить.

1 Ответ

0 голосов
/ 14 июля 2020

Для хранения артефактов сборки:

Насколько мне известно, на время хранения могут влиять три пункта.

  1. Политика хранения сборки. На скриншоте вы установили 30 дней для Days to keep artifacts, symbols and attachments. Эта политика хранения будет хранить артефакты в течение 30 дней.

Если политика не перезаписана, артефакты будут удалены через 30 дней

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

Отдельный выпуск : вы можете проверить этот параметр в Release -> Retention

enter image description here

All Release: you could check it in Project Settings-> Release Retention.

enter image description here

The artifacts retention policy will follow release retention policy.

  1. Если сборка или связанный выпуск был сохранен, артефакты будут храниться вечно (переопределить все политики). Build -> Retain, Release -> Retain indefinitely

Например:

enter image description here

This Retain option could keep the build forever.

If you want to keep the old artifacts , you could use this option.

Here is a doc about политика хранения сборки и выпуска .

Для раскрывающейся версии list:

Выпадающий список показывает успешные версии сборки. Независимо от того, содержит он артефакты или нет, они будут отображаться в списке.

Версия соответствует номеру версии сборки.

Например:

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

...