Публикация пакетов NuGet из командной строки (dotnet)
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
В этом руководстве описывается настройка проекта для публикации пакетов NuGet с помощью интерфейса командной строки dotnet.
Необходимые условия
продукт | Требования |
---|---|
Azure DevOps | — Организация в Azure DevOps. — проект Azure DevOps . — канал Azure Artifacts. — Скачайте и установите поставщик учетных данных Azure Artifacts. — Скачайте и установите пакет SDK для .NET Core (2.1.400+). |
Подключение к ленте
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите артефакты, а затем выберите канал в раскрывающемся меню.
Выберите Подключиться к каналу, а затем выберите dotnet в разделе NuGet слева.
Создайте файл 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>
Веб-канал с областью действия проекта:
<?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>
Войдите на сервер Azure DevOps и перейдите к проекту.
Выберите артефакты, а затем выберите вашу ленту.
Выберите Подключиться к каналу, а затем выберите dotnet в левой панели навигации.
Следуйте инструкциям в разделе настройки проекта, чтобы подключиться к веб-каналу.
Заметка
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
, но при публикации в канале Azure Artifacts можно указать любую строку в качестве его значения.
Публикация пакетов в фид другой организации
Чтобы опубликовать пакеты NuGet в канале другой организации Azure DevOps, необходимо сначала создать личный токен доступа (PAT) в целевой организации.
Перейдите к организации, в которой размещен целевой веб-канал, и создайте личные маркеры доступа (PAT) с помощью упаковки>чтения & области записи.
Замените заполнитель <PERSONAL_ACCESS_TOKEN> личным маркером доступа, а затем выполните следующую команду, чтобы добавить источник пакета в файл 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>
Выполните следующую команду, чтобы опубликовать пакет:
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.config
dotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg
Заметка
Если ваша организация использует брандмауэр или прокси-сервер, убедитесь, что вы разрешаете URL-адреса домена и IP-адреса azure artifacts.