Поделиться через


Использование пакетов из коллекции NuGet

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

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

  • Включение вышестоящих источников для веб-канала
  • Добавление коллекции NuGet в качестве вышестоящего источника
  • Подключение к веб-каналу
  • Установка пакетов из nuget.org

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

  • Организация Azure DevOps и проект. Создайте организацию или проект, если вы еще не сделали этого.

  • Веб-канал артефактов Azure.

  • Скачайте NuGet.

  • Скачайте и установите поставщик учетных данных Azure Artifacts.

Включение вышестоящих источников на веб-канале

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

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

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

  3. В поле "Имя" введите описательное имя веб-канала.

    Для видимости выберите параметр, чтобы указать, кто может просматривать пакеты в веб-канале.

    Если вы хотите включить пакеты из общедоступных источников, установите флажок в разделе "Вышестоящий источник".

    В области укажите, является ли область веб-канала проектом или организацией.

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

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

  1. Войдите на сервер Azure DevOps и перейдите в проект.

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

  3. В поле "Имя" введите описательное имя веб-канала.

    Для видимости выберите параметр, чтобы указать, кто может просматривать пакеты в веб-канале.

    Если вы хотите включить пакеты из общедоступных источников, установите флажок в разделе "Вышестоящий источник".

    В области укажите, является ли область веб-канала проектом или организацией.

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

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

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

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

  1. Войдите на сервер Azure DevOps и перейдите в проект.

  2. Выберите артефакты и выберите новый веб-канал.

  3. В поле "Имя" введите описательное имя веб-канала.

    Для видимости выберите параметр, чтобы указать, кто может просматривать пакеты в веб-канале.

    Если вы хотите включить пакеты из общедоступных источников, выберите "Использовать пакеты" из общедоступных источников с помощью этого канала .

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

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

Примечание.

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

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

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

  2. Выберите артефакты и выберите веб-канал.

  3. Нажмите кнопку Значок шестеренки шестеренки, чтобы перейти к параметрам веб-канала.

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

  5. Выберите общедоступный источник и выберите коллекцию NuGet в раскрывающемся меню.

  6. Нажмите кнопку "Добавить ", а затем нажмите кнопку "Сохранить еще раз" в правом верхнем углу, чтобы сохранить изменения.

  1. Войдите на сервер Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и выберите веб-канал.

  3. Нажмите кнопку Значок шестеренки шестеренки, чтобы перейти к параметрам веб-канала.

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

  5. Выберите общедоступный источник и выберите коллекцию NuGet в раскрывающемся меню.

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

  1. Войдите на сервер Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и выберите веб-канал.

  3. Нажмите кнопку Значок шестеренки шестеренки, чтобы перейти к параметрам веб-канала.

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

  5. Выберите общедоступный источник и выберите коллекцию NuGet в раскрывающемся меню.

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

Подключиться к веб-каналу

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

  2. Выберите артефакты и выберите веб-канал.

  3. Выберите "Подключиться к каналу" и выберите NuGet.exe.

  4. Добавьте файл nuget.config в ту же папку, что и csproj или файл .sln. Вставьте предоставленный фрагмент XML в файл. Если вы используете приведенные ниже примеры, убедитесь, что заполнители заменяются соответствующими значениями для вашего сценария.

    • Веб-канал с областью действия организации:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
    • Веб-канал с областью действия проекта:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. Войдите на сервер Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и выберите веб-канал.

  3. Выберите "Подключиться к каналу" и выберите NuGet.exe в области навигации слева.

  4. Следуйте инструкциям в разделе "Настройка проекта", чтобы подключиться к веб-каналу.

  1. Войдите на сервер Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и выберите веб-канал.

  3. Выберите "Подключиться к каналу" и выберите NuGet в области навигации слева.

  4. Следуйте приведенным инструкциям, чтобы добавить URL-адрес источника пакета в файл конфигурации nuget.config .

Теперь наш проект настроен для проверки подлинности с помощью нашего веб-канала, теперь мы можем перейти к установке пакетов из вышестоящей коллекции NuGet. В этом примере мы установим библиотеку журналов диагностики Serilog :

  1. Перейдите в коллекцию NuGet по адресу https://www.nuget.org/.

  2. Найдите пакет Serilog и выберите его, чтобы перейти на страницу сведений.

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

    NuGet\Install-Package Serilog -Version 3.1.2-dev-02097
    
  4. Откройте проект в Visual Studio, а затем выберите Сервис>NuGet диспетчер пакетов> диспетчер пакетов консоль, чтобы открыть окно консоли.

  5. Вставьте команду в окно консоли диспетчер пакетов и нажмите клавишу ВВОД, чтобы установить пакет.

Примечание.

Чтобы сохранить пакеты из вышестоящих версий, необходимо иметь роль "Канал" и "Средство чтения выше" ("Совместная работа") или более поздней версии. Дополнительные сведения см. в разделе "Управление разрешениями ".

Просмотр сохраненных пакетов

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

  2. Выберите источник коллекции NuGet из раскрывающегося меню, чтобы отфильтровать пакеты из этой вышестоящей части.

  3. Пакет Serilog , установленный на предыдущем шаге, теперь доступен в нашем веб-канале. Артефакты Azure автоматически сохраняют копию в веб-канале при выполнении команды установки.

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