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


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

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

В этой статье описано, как настроить проект и опубликовать пакеты NuGet с помощью интерфейса командной строки NuGet.

Необходимые условия

продукт Требования
Azure DevOps — Организация Azure DevOps .
— проект Azure DevOps .
— фид Azure Artifacts .
— Скачайте и установите поставщик учетных данных 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>
      
    • веб-канал с областью действия проекта:

      <?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

Заметка

Требуется api-key, но при размещении в канале Azure Artifacts можно указать любую строку в качестве значения.

Публикация пакетов в веб-канале другой организации

Чтобы опубликовать пакеты NuGet в канале другой организации Azure DevOps, необходимо сначала создать личный токен доступа (ЛАД) в целевой организации.

  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 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.