Поделиться через


Основные понятия Azure Artifacts

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Артефакты Azure позволяют разработчикам размещать и совместно использовать различные типы пакетов для упрощения совместной работы и распределения пакетов. В этой статье рассматриваются ключевые понятия, связанные с работой с Azure Artifacts.

Веб-каналы

Каналы поставок Azure Артефакты — это организационные конструкции, которые предоставляют структурированный способ хранения, управления и совместного использования пакетов с контролем доступа. Фиды не ограничиваются определенными типами пакетов и могут размещать различные типы, такие как npm, NuGet, Maven, Python, Cargo и универсальные пакеты. Каналы могут быть ограничены проектом или организацией. Однако только фиды на уровне проекта можно сделать общедоступными, а фиды на уровне организации нельзя преобразовать в фиды на уровне проекта.

Просмотры ленты

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

По умолчанию веб-каналы включают три представления: @local, @prereleaseи @release. При необходимости их можно переименовать или удалить. @local — это представление по умолчанию, обычно используемое в источниках верхнего уровня, и оно содержит все пакеты, опубликованные непосредственно в канал распространения, а также сохраненные из источников верхнего уровня.

Вышестоящие источники

Исходные источники позволяют хранить пакеты из нескольких источников в одном канале. К ним относятся как опубликованные пакеты, так и сохраненные из внешних веб-каналов и общедоступных реестров, таких как NuGet.org или npmjs.com. Если в веб-канале включен вышестоящий источник, Azure Artifacts автоматически сохраняет копию любого пакета, установленного сотрудником или выше, из вышестоящего источника.

Для диспетчеров общедоступных пакетов, поддерживающих несколько веб-каналов, таких как NuGet и Maven, порядок запросов веб-каналов может отличаться. Например, NuGet отправляет параллельные запросы во все настроенные веб-каналы и выбирает первый допустимый ответ, который он получает, что иногда может привести к недетерминированному поведению.

Восходящие источники помогают устранить это недетерминированное поведение, выполнив поиск по каналу и его вышестоящим источникам в следующем порядке:

  1. Пакеты, опубликованные непосредственно в веб-канале.

  2. Пакеты, сохраненные из внешнего источника.

  3. Пакеты, доступные из вышестоящих источников. Поиск каждого вышестоящего источника выполняется в том порядке, в котором они появляются в конфигурации веб-канала.

Заметка

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

Неизменность

После публикации определенной версии пакета в поток, этот номер версии будет зарезервирован навсегда. Вы не можете отправить более новую версию пакета с тем же номером версии, а также удалить его и отправить новый пакет с тем же номером версии.

Индексирование

Артефакты Azure поддерживают индекс всех пакетов в каждом канале, что позволяет быстро выполнять операции со списками. Это отличается от общих папок, где клиент должен открывать каждый пакет и проверять его метаданные, если только файловый ресурс не настроен для предоставления индекса, распознаваемого клиентом.

Хорошо сформированность

Артефакты Azure проверяют все опубликованные пакеты, чтобы обеспечить целостность и правильность. Это помогает предотвратить ввод недопустимых пакетов в среду разработки. Если у вас есть рабочий процесс, который публикует неправильные пакеты и планируете перенести их в Azure Artifacts, важно изменить рабочий процесс во время перехода, чтобы убедиться, что пакеты проходят проверку проверки в Azure Artifacts.

Корзина для мусора

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

Вы также должны быть владельцем ленты, чтобы удалить ленты. Удаленные веб-каналы остаются в корзине в течение 30 дней, прежде чем они автоматически удаляются окончательно. После окончательного удаления веб-канала имя веб-канала становится доступным.