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