Подключитесь к каналам артефактов Azure (NuGet.exe)
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Артефакты Azure позволяют разработчикам публиковать и скачивать пакеты NuGet из различных источников, включая веб-каналы и общедоступные реестры. Вы можете использовать частные веб-каналы Azure Artifacts для совместного использования пакетов с вашей командой или конкретными пользователями. Кроме того, вы можете создавать общедоступные веб-каналы, чтобы сделать пакеты общедоступными, что позволяет предоставлять им общий доступ к ним всем пользователям в Интернете. В этой статье описано, как подключиться к вашему каналу Артефактов Azure.
Предпосылки
Организация Azure DevOps и проект. Создайте организацию или проект , если вы еще не сделали этого.
Канал артефактов Azure. Создайте новый веб-канал, если у вас его еще нет.
Установите последнюю версию NuGet.
Настройка проекта
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите Артефакты, и затем выберите вашу ленту в раскрывающемся меню.
Выберите Подключиться к каналу, а затем выберите NuGet.exe в панели слева.
Если вы используете Azure Artifacts с NuGet.exeвпервые, убедитесь, что установлены все необходимые компоненты. В противном случае выберите Получить средства в правом верхнем углу, чтобы установить их.
Добавьте в проект файл nuget.config, поместите его в ту же папку, что и файл csproj или sln, а затем вставьте в него предоставленный фрагмент. Фрагмент должен быть структурирован следующим образом:
Лента с привязкой к проекту:
<?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>
Лента новостей организации
<?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>
Войдите на сервер Azure DevOps и перейдите к проекту.
Выберите Артефакты, и затем выберите вашу ленту в раскрывающемся меню.
Выберите Подключиться к каналу, а затем выберите NuGet.exe в меню навигации слева.
Следуйте инструкциям в разделе настройки проекта, чтобы подключиться к вашему каналу.
Это важно
Поставщик учетных данных Azure Artifacts требует NuGet версии 4.8.0.5385
или выше.
Для оптимальной производительности Azure Artifacts рекомендует использовать версию NuGet 5.5.x
или более поздней, так как она включает важные исправления ошибок, связанные с отменами и истечением времени ожидания.
Настройка устаревшего проекта
Если вы используете более раннюю версию NuGet, следуйте приведенным ниже инструкциям, чтобы подключиться к веб-каналу:
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите Артефакты, а затем выберите свой канал из раскрывающегося меню.
Выберите Подключиться к каналу, а затем выберите NuGet.exe в панели слева.
Скопируйте исходный URL-адрес и замените
/v3/index.json
на/v2
. Обновленный исходный URL-адрес должен выглядеть следующим образом:Лента с привязкой к проекту:
https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2
Лента новостей организации
https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
Создайте персональный токен доступаи убедитесь, что он охватывает нужную вам организацию. Выберите одну из следующих областей действий: упаковка (чтение), упаковка (чтение и запись)или упаковка (чтение, запись и управление).
Выполните следующую команду в окне командной строки, чтобы добавить источник ленты в файл nuget.config:
nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <ANY_STRING_BUT_NOT_NULL> -password <YOUR_PERSONAL_ACCESS_TOKEN>
Если ваша организация подключена к Microsoft Entra ID, необходимо сначала пройти проверку подлинности с помощью учетных данных AD, а затем добавить персональный токен доступа с помощью команды setapikey.
nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <AZURE_ACTIVE_DIRECTORY_USERNAME> -password <AZURE_ACTIVE_DIRECTORY_PASSWORD> nuget setapikey <YOUR_PERSONAL_ACCESS_TOKEN> -source <SOURCE_URL>
Аутентификация веб-канала NuGet с помощью служебного принципала
Чтобы пройти проверку подлинности с помощью служебного принципала, сначала необходимо установить поставщик учетных данных артефактов.
Задайте переменную среды ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS, как показано ниже, указав URL-адрес для вашего канала, идентификатор приложения (клиента) служебной учётной записи и имя субъекта или путь к файлу вашего сертификата служебной учётной записи. (Необходимо выбрать один вариант: либо имя субъекта сертификата, либо путь к файлу.)
В PowerShell введите следующий код.
$env:ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS = @'{
"endpointCredentials": [
{
"endpoint": "<FEED_URL>",
"clientId": "<SERVICE_PRINCIPAL_APPLICATION_(CLIENT)_ID>",
"clientCertificateSubjectName": "<SERVICE_PRINCIPAL_CERTIFICATE_NAME>",
"clientCertificateFilePath": "<SERVICE_PRINCIPAL_CERTIFICATE_PATH>"
}
]
}
'@