Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Артефакты Azure позволяют разработчикам эффективно управлять всеми их зависимостями с одного фида. Ленты в Azure Artifacts служат репозиториями на уровне организации для хранения, управления и предоставления общего доступа к пакетам внутри команды, между организациями или, для существующих общедоступных проектов, публично через Интернет. Azure Artifacts поддерживает широкий спектр типов пакетов, включая NuGet, npm, пакеты Python, Maven, Cargo и универсальные пакеты.
В этой статье показано, как опубликовать свой первый пакет NuGet в канале Azure Artifacts. При необходимости вы можете следовать инструкциям по использованию GitHub Copilot, чтобы настроить проект и подготовить пакет для публикации.
Предварительные требования
| Продукт | Требования |
|---|---|
| Azure DevOps | — Организация Azure DevOps. — проект Azure DevOps . — Скачайте и установите пакет SDK .NET версии 9.0.200 или более поздней версии. |
| GitHub Copilot (необязательно) | - Настройте GitHub Copilot и Visual Studio Code. Бесплатная пробная версия GitHub Copilot доступна на 30 дней, если вы еще не зарегистрировались. |
Создайте ленту
Если у вас уже есть веб-канал, этот раздел можно пропустить. В противном случае выполните приведенные ниже действия, чтобы создать новый веб-канал в Azure Artifacts:
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите Артефакты, затем выберите Создать ленту.
Укажите описательное имя для веб-канала и задайте его видимость , чтобы определить, кто может просматривать пакеты в веб-канале. Определите область веб-канала и установите флажок "Вышестоящий источник ", если требуется включить пакеты из общедоступных источников.
После завершения работы выберите Создать.
Войдите в коллекцию Azure DevOps и перейдите к проекту.
Выберите Артефакты, затем выберите Создать ленту.
Укажите описательное имя для веб-канала и задайте его видимость , чтобы определить, кто может просматривать пакеты в веб-канале. Определите область веб-канала и установите флажок "Вышестоящий источник ", если требуется включить пакеты из общедоступных источников.
После завершения работы выберите Создать.
Подготовьте пакет
В этом примере вы используете образец библиотеки классов .NET Core и настраиваете метаданные пакета перед сборкой проекта и созданием пакета NuGet, готового к публикации в вашем канале. Если у вас еще нет проекта, следуйте инструкциям в этом руководстве по созданию библиотеки классов .NET с помощью Visual Studio Code.
Откройте проект в Visual Studio Code и выберите файл csproj . Добавьте метаданные вашего пакета внутри тега
<PropertyGroup>. Файл должен выглядеть следующим образом:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net8.0</TargetFramework> <RootNamespace>demo_class_library</RootNamespace> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <PackageId>YOUR_PACKAGE_NAME</PackageId> <Version>YOUR_PACKAGE_VERSION</Version> <Authors>YOUR_NAME</Authors> <Company>YOUR_COMPANY</Company> </PropertyGroup> </Project>Выполните следующую команду в каталоге проекта, чтобы создать проект и создать пакет nupkg . Пакет будет находиться в папке
bin\release.dotnet pack
Настройка поставщика учетных данных Azure Artifacts
Чтобы выполнить аутентификацию в вашем канале, необходимо сначала установить поставщик учетных данных Azure Artifacts. С помощью установщика инструментов, включенного в dotnet, можно установить поставщик учетных данных из интерфейса командной строки с помощью следующей команды:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool
Если на уровне репозитория nuget.config настроено использование только Azure Artifacts источников, выполните команду установки за пределами этого каталога или явно задайте nuget.org в качестве источника:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json
При необходимости закрепите инструмент на основной версии (например, в образах контейнеров, где важна воспроизводимость):
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --version 2.* --source https://api.nuget.org/v3/index.json
Первое использование
При первом выполнении операции, требующей проверки подлинности, используйте один из следующих подходов:
- Выполните команду с
--interactive, чтобыdotnetмог предложить вам войти в систему. Это рекомендуемый подход для большинства локальных сценариев разработки.
Перед выполнением интерактивной команды убедитесь, что проект настроен и веб-канал добавляется в nuget.config. Сведения о настройке см. в разделе "Настройка проекта".
После настройки и подключения проекта к веб-каналу перейдите в каталог проекта и выполните следующую команду:
dotnet restore --interactive
Эта команда выполняет вход в систему и получает токен сеанса. После успешного входа вы можете выполнять команды, требующие проверки подлинности, без --interactive, пока кэшированный токен сеанса остаётся действительным. Дополнительные сведения см. в разделе Расположение кэша токенов сеанса.
- Для неинтерактивных сценариев, таких как контейнеры Docker и настраиваемая автоматизация, предоставьте учетные данные с помощью переменных environment.
Для Azure Pipelines используйте задачу NuGetAuthenticate@1 для аутентификации в вашем канале перед выполнением таких команд, как dotnet restore или dotnet nuget push. Дополнительные сведения см. в статье Восстановление пакетов NuGet с помощью Azure Pipelines.
Подключение к веб-каналу
Выполните следующие действия, чтобы настроить свой проект и подключиться к каналу Azure Artifacts. Убедитесь, что вы установили поставщик учетных данных Azure Artifacts и последнюю версию NuGet, как описано в предварительных требованиях.
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите Артефакты, а затем выберите свой канал из раскрывающегося меню.
Выберите Подключиться к каналу, а затем выберите dotnet в разделе NuGet.
Следуйте инструкциям в настройке проекта, чтобы настроить файл nuget.config. Структура файла должна выглядеть следующим образом:
Веб-канал с областью действия проекта:
<?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>Лента новостей с охватом организации:
<?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>
Войдите в коллекцию Azure DevOps и перейдите к проекту.
Выберите Артефакты, и затем выберите вашу ленту в раскрывающемся меню.
Выберите Подключиться к каналу и выберите dotnet на панели навигации слева.
Следуйте инструкциям в разделе "Настройка проекта ", чтобы настроить файл nuget.config .
Опубликуйте ваш пакет
Выполните следующую команду из каталога проекта, чтобы опубликовать пакет в веб-канале Azure Artifacts. Этот --api-key параметр является обязательным, но при публикации в Azure Artifacts можно использовать любое строковое значение.
dotnet nuget push --source <FEED_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>