Публикация и восстановление пакетов NuGet из командной строки (NuGet.exe)

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

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

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

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

  • Веб-канал артефактов Azure. Создайте веб-канал , если у вас еще нет.

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

  • Последняя версия NuGet.

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

  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>
      
    • Веб-канал project-область d:

      <?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 push <PACKAGE_PATH> -src https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -ApiKey <ANY_STRING>

Пример:

nuget push MyPackage.5.0.2.nupkg -src https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ

Примечание.

Это ApiKey необходимо, но при отправке в веб-каналы Артефактов Azure можно использовать любое произвольное значение.

Публикация пакетов из внешних источников

  1. Создайте личный маркер доступа (PAT) с упаковкой область чтения и записи.

  2. Добавьте источник пакета в файл nuget.config . Это добавит PAT в файл nuget.config . Сохраните этот файл в безопасном расположении и убедитесь, что вы не проверка его в систему управления версиями.

    nuget sources Add -Name <SOURCE_NAME> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -UserName <USER_NAME> -Password <PERSONAL_ACCESS_TOKEN> -config <PATH_TO_NUGET_CONFIG_FILE>
    
  3. Опубликуйте пакет NuGet в веб-канале:

    nuget push <PACKAGE_PATH> -src <SOURCE_NAME> -ApiKey <ANY_STRING>
    

Пример:

nuget sources Add -Name "MySource" -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -UserName MyUserName -Password YourPersonalAccessToken -config ./nuget.config
nuget push nupkgs/mypackage.1.1.8.nupkg -src MySource -ApiKey AZ

Примечание.

Если ваша организация использует брандмауэр или прокси-сервер, убедитесь, что вы разрешаете URL-адреса и IP-адреса домена Azure Artifacts.

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

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

nuget.exe restore