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

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

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

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

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

  1. Выберите артефакты и выберите веб-канал в раскрывающемся меню.

  2. Выберите Подключение для канала, а затем выберите dotnet в разделе NuGet слева.

  3. Создайте файл nuget.config в той же папке, что и файл csproj или sln. Скопируйте следующий фрагмент XML-кода и вставьте его в новый файл, заменив заполнители соответствующими сведениями:

  • Веб-канал область организации:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <clear />
        <add key="<FEED_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="<FEED_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. Выберите Подключение в канал, а затем выберите dotnet в области навигации слева.

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

    Снимок экрана: подключение к веб-каналу с помощью dotnet в Azure DevOps Server 2020 и 2022.

Примечание.

dotnet не поддерживается в Azure DevOps Server 2019.

Публикация пакетов

Выполните следующую команду, чтобы опубликовать пакет в веб-канале. Замените заполнители соответствующими сведениями:

dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH> 

Пример: dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg

Примечание.

Используется api-key только в качестве заполнителя.

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

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

  2. Замените <заполнитель PERSONAL_ACCESS_TOKEN> личным маркером доступа, а затем выполните следующую команду, чтобы добавить источник пакета в файл nuget.config. Это добавляет PAT в конфигурацию nuget.config. Не забудьте безопасно хранить этот файл и не проверка его в управление версиями.

    dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>
    
  3. Опубликуйте пакет:

    dotnet nuget push --source <SOURCE_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>
    

Пример: dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.configdotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkgkg

Примечание.

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

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

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

dotnet restore --interactive