Использование вышестоящих источников в общедоступном веб-канале
Azure DevOps Services
Артефакты Azure позволяют разработчикам управлять своими зависимостями из единого канала. Используя вышестоящие источники, можно использовать пакеты из фидов и общедоступных реестров, таких как NuGet.org и npmjs.com. В этой статье вы узнаете, как выполнять следующие задачи.
- Создание общедоступного веб-канала
- Включить входящие источники
- Добавление нового вышестоящего источника
Предварительные требования
Организация Azure DevOps. Создайте организацию, если у вас еще нет.
Проект Azure DevOps. Создайте проект, если у вас еще нет этого проекта .
Установите видимость вашего проекта как общедоступную.
Создание общедоступного веб-канала
Общедоступная лента — это лента, ориентированная на проект в общедоступном проекте. Общедоступные каналы наследуют параметры видимости проекта, в котором они размещены.
Войдите в свою организацию Azure DevOps и выберите общедоступный проект.
Выберите Артефакты, затем выберите Создать веб-канал.
Присвойте веб-каналу имя, а затем выберите Проект: PublicProject (рекомендуется) для своей области.
После завершения работы выберите Создать.
Внимание
Общедоступные веб-каналы не поддерживают восходящую передачу на частный веб-канал Artifacts. Если вы используете общедоступный фид Артефактов Azure, вы можете транслировать только в общедоступные реестры (npmjs, NuGet.org) или другие общедоступные фиды Azure Artifacts.
Добавление вышестоящего источника
Войдите в свою организацию Azure DevOps и выберите общедоступный проект.
Выберите Артефакты, а затем выберите вашу общедоступную ленту.
Щелкните значок
шестеренки, чтобы получить доступ к параметрам веб-канала.
Выберите вышестоящие источники, а затем выберите Добавить вышестоящий источник.
Выберите вышестоящий исходный тип. В этом примере мы добавим NuGet.org в качестве вышестоящего источника.
Настройте источник и нажмите кнопку "Добавить " после завершения.
Нажмите кнопку "Сохранить", чтобы сохранить новый вышестоящий источник.
Внимание
Файлы блокировки пакетов необходимы для сохранения пакетов NuGet и Dotnet из вышестоящих источников в общедоступный репозиторий.
Восстановление пакетов
Выполните следующую команду в каталоге проекта, чтобы восстановить пакеты:
Примечание.
Чтобы устанавливать новые версии пакетов из upstream, необходимо быть читателем каналов и upstream (сотрудником) или выше. Анонимные пользователи могут устанавливать только пакеты, существующие в их потоке.
Q&A
Вопрос: Я пытаюсь восстановить мои архивы, но я продолжаю получать ошибку "401: Доступ запрещен"?
Содержимое ленты данных может быть изменено только прошедшей проверку подлинности и авторизированной личностью, у которой есть соответствующие разрешения на неё. Это включает сохранение пакетов в ленту из внешнего источника. Не прошедшие аутентификацию (анонимные) пользователи могут скачивать пакеты, уже сохранённые в фиде, но не могут сохранять новые пакеты из вышестоящего источника в этот фид.
Поддерживающие проект должны сохранять все необходимые версии пакетов в общедоступном репозитории. Это можно сделать, восстанавливая проект с помощью удостоверения, которое может предоставлять учетные данные каналу при появлении запроса, и гарантируя, что удостоверение, используемое, имеет правами Чтения канала и Вышестоящего Чтения (Сотрудник) или более высокими разрешениями в публичном канале.
Если анонимные пользователи, которые восстанавливают пакеты для проекта, неоднократно блокируются запросами учетных данных (ответ 401), следующие подходы будут уменьшать или устранять проблему:
Избегайте использования диапазонов версий пакета в конфигурации проекта. Явные версии пакетов гарантируют, что клиенты упаковки запрашивают только точную версию, необходимую.
Если поддерживается, используйте файлы блокировки для экосистемы упаковки, чтобы клиенты упаковки запрашивали только определенные версии, необходимые для проекта во время операции восстановления и установки.
Вопрос. Я пытаюсь восстановить пакеты с помощью Visual Studio, но я замечаю, что они извлекаются из другого источника?
Убедитесь, что Visual Studio использует источник, на который ссылается ваш файл nuget.config, а не из локального диспетчера пакетов NuGet. См. источники пакетов для получения дополнительных сведений.
Вы также можете использовать интерфейс командной строки NuGet, чтобы принудительно использовать источник в файле конфигурации, выполнив следующую команду:
nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>