Графы пакетов в артефактах Azure
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
При выпуске пакета важно убедиться, что все зависимости этого пакета доступны в веб-канале, используя их из источника вышестоящий. После использования пакета из источника вышестоящий копия сохраняется в веб-канале. Это гарантирует, что даже если источник вышестоящий становится недоступным, копия будет по-прежнему доступна как для вас, так и для потребителей веб-канала.
Создание набора доступных пакетов вышестоящий
Так как веб-каналы Azure Artifacts могут иметь другие веб-каналы как вышестоящий, есть потенциал для создания циклов источников вышестоящий, где канал A вышестоящий для канала B, который вышестоящий для канала C, и в конечном итоге канал C вышестоящий обратно в канал A. Такой цикл, если он не удается правильно, может привести к проблемам с запросами пакетов, создавая бесконечный цикл, в котором пользователь запрашивает пакет из канала A, а затем запросы от B, а затемзапросы B из C и, наконец, запросы C обратно в A, формируя цикл.
Восходящие источники предназначены для предотвращения таких ситуаций. Когда веб-канал ищет пакет из своих вышестоящий источников, он получает пакеты в представлении, настроенном для этого вышестоящий источника. Это означает, что запрос веб-канала A не активирует транзитивный запрос для канала C (A -> B -> C), так как представления доступны только для чтения. В результате веб-канал A будет иметь доступ к любым пакетам из C, которые ранее были сохранены в B пользователем, но не полный набор пакетов, доступных в C.
Это ставит ответственность за веб-канал B, чтобы гарантировать, что его локальные пакеты представляют собой полный граф зависимостей. Таким образом, пользователи, использующие пакет B через вышестоящий источник из другого веб-канала, могут успешно устранить граф и установить нужный пакет B без возникновения проблем.
Пример: создание набора доступных пакетов
Рассмотрим три канала: Fabrikam, Contoso и AdventureWorks. На этом рисунке мы рассмотрим доступные пакеты для веб-канала Fabrikam, как мы представляем вышестоящий источники.
Изначально Fabrikam не имеет вышестоящий источников, что позволяет пользователям, подключенным к Fabrikam, устанавливать только версии 1.0.0 и 2.0.0 пакета мини-приложений. Аналогичным образом компания Contoso не имеет вышестоящий источников, ограничивая пользователей, подключенных к Contoso, только устанавливать версии 1.0.0 и 3.0.0 пакета Gizmos. Это же относится к веб-каналу AdventureWorks, где подключенные пользователи могут устанавливать только версии 1.0.0 и 2.0.0 пакета "Гаджеты" или версии 1.0.0 пакета "Вещи".
Теперь давайте рассмотрим сценарий, в котором Contoso добавляет AdventureWorks в качестве источника вышестоящий. Когда пользователь подключен к Contoso, он получает доступ к более широкому спектру пакетов. Они могут установить любую версию Gizmos, Гаджеты или Вещи. Например, если пользователь устанавливает Gadgets@2.0.0, эта конкретная версия пакета сохраняется в Contoso с ссылкой обратно на AdventureWorks.
Теперь рассмотрим ситуацию, когда веб-канал Fabrikam добавляет Contoso в качестве источника вышестоящий. Пользователь, подключенный к Fabrikam, может установить любую версию мини-приложений, любую версию Gizmos, но ТОЛЬКО СОХРАНЕННЫе версии гаджетов (2.0.0).
Пользователь не сможет установить версию 1.0.0.0 гаджетов или любую версию вещей, так как эти версии пакетов не были сохранены пользователем Contoso.
Связанные статьи
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по