Share via


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

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

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

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

Внимание

Файлы блокировки пакетов помогают с воспроизводимыми сборками и минимизацией сценариев, в которых анонимный пользователь будет запрашивать учетные данные при использовании общедоступных веб-каналов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Внимание

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

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

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

nuget.exe restore

Примечание.

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

Q&A

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

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

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

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

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

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

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

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

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

nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>