Бөлісу құралы:


Использование вышестоящих источников в общедоступном веб-канале

Артефакты Azure позволяют разработчикам управлять их зависимостями из одного веб-канала. С помощью вышестоящих источников можно использовать пакеты из веб-каналов и общедоступных реестров, таких как NuGet.org, и npmjs.com. В этой статье вы узнаете, как выполнять следующие задачи.

  • Создание общедоступного веб-канала
  • Включение источников вышестоящего потока
  • Добавление нового вышестоящего источника

Необходимые компоненты

Создание общедоступного веб-канала

Общедоступный веб-канал — это веб-канал с областью проекта в общедоступном проекте. Общедоступные веб-каналы наследуют параметры видимости проекта размещения.

  1. Войдите в свою организацию Azure DevOps и выберите общедоступный проект.

  2. Выберите артефакты и нажмите кнопку "Создать веб-канал".

    Снимок экрана: кнопка создания веб-канала в Azure Artifacts.

  3. Присвойте веб-каналу имя, а затем выберите Проект: PublicProject (рекомендуется) для своей области.

    Снимок экрана: создание общедоступного веб-канала.

  4. После завершения работы выберите Создать.

Внимание

Общедоступные веб-каналы не поддерживают восходящую передачу на частный веб-канал Artifacts. Если вы используете общедоступный веб-канал Артефактов Azure, вы можете использовать только общедоступные реестры (NuGet.org, npmjs) или другие общедоступные веб-каналы Azure Artifacts.

Добавление вышестоящего источника

  1. Войдите в свою организацию Azure DevOps и выберите общедоступный проект.

  2. Выберите артефакты и выберите общедоступный веб-канал.

  3. Щелкните значок Значок шестеренки шестеренки, чтобы получить доступ к параметрам веб-канала.

  4. Выберите "Вышестоящий источник", а затем нажмите кнопку "Добавить вверх".

    Снимок экрана: добавление вышестоящего источника в общедоступный веб-канал.

  5. Выберите вышестоящий исходный тип. В этом примере мы добавим NuGet.org в качестве вышестоящего источника.

    Снимок экрана: различные типы вышестоящих источников.

  6. Настройте источник и нажмите кнопку "Добавить " после завершения.

    Снимок экрана: настройка вышестоящего источника.

  7. Нажмите кнопку "Сохранить", чтобы сохранить новый вышестоящий источник.

    Снимок экрана: сохранение только что добавленного вышестоящего источника.

Внимание

Файлы блокировки пакетов необходимы для сохранения пакетов NuGet и Dotnet из вышестоящих источников в общедоступный веб-канал.

Восстановление пакетов

Выполните следующую команду в командной строке с повышенными привилегиями:

nuget.exe restore

Примечание.

Для установки новых версий пакетов из вышестоящей версии необходимо быть веб-каналом и средством чтения upstream (сотрудником совместной работы). Анонимные пользователи могут устанавливать только пакеты, существующие в веб-канале.

Q&A

Вопрос. Я пытаюсь восстановить мои пакеты, но я продолжаю получать 401 несанкционированную ошибку?

Содержимое веб-канала может быть изменено только прошедшим проверку подлинности и авторизованным удостоверением, у которого есть соответствующие разрешения на веб-канал. Это включает сохранение пакетов в веб-канал из вышестоящего источника. Пользователи, не прошедшие проверку подлинности (анонимные), могут скачивать пакеты, уже сохраненные в веб-канале, но не могут сохранять новые пакеты из вышестоящего канала.

Поддержка проекта должна сохранять все необходимые версии пакетов в общедоступном веб-канале. Это можно сделать, восстанавливая проект с помощью удостоверения, который может предоставлять учетные данные веб-каналу при появлении запроса, и гарантируя, что удостоверение, используемое с помощью веб-канала и средства чтения вышестоящего канала (сотрудник) или более высокие разрешения на общедоступном веб-канале.

Если анонимные пользователи, которые восстанавливают пакеты для проекта, неоднократно блокируются запросами учетных данных (ответ 401), следующие подходы будут уменьшать или устранять проблему:

  1. Избегайте использования диапазонов версий пакета в конфигурации проекта. Явные версии пакетов гарантируют, что клиенты упаковки запрашивают только точную версию, необходимую.

  2. Если поддерживается, используйте файлы блокировки для экосистемы упаковки, чтобы клиенты упаковки запрашивали только определенные версии, необходимые для проекта во время операции восстановления и установки.

Вопрос. Я пытаюсь восстановить пакеты с помощью Visual Studio, но я замечаю, что они извлекаются из другого источника?

Ответ. Убедитесь, что Visual Studio использует источник, на который ссылается файл nuget.config , а не из локального диспетчера пакетов NuGet. Дополнительные сведения см . в источниках пакетов.

Вы также можете использовать интерфейс командной строки NuGet, чтобы принудительно использовать источник в файле конфигурации, выполнив следующую команду:

nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>