Публикация пакета в веб-канале Артефактов Azure
Артефакты Azure позволяют разработчикам эффективно управлять всеми их зависимостями из одного веб-канала. Веб-каналы в Azure Artifacts служат репозиториями организации для хранения, управления и совместного использования пакетов в команде, в организациях или в Интернете. Веб-каналы Артефактов Azure поддерживают широкий спектр типов пакетов, включая NuGet, npm, Python, Maven, Cargo и универсальные пакеты.
В этой статье описывается процесс публикации первого пакета в веб-канале Артефактов Azure. Вы также можете использовать GitHub Copilot для упрощения этого процесса и изучения возможностей чата GitHub Copilot в Visual Studio Code.
Необходимые компоненты
Создайте организацию Azure DevOps и проект, если вы еще не сделали этого.
Установите пакет SDK для .NET Core.
Установите поставщик учетных данных Azure Artifacts.
(Необязательно) Настройте GitHub Copilot и Visual Studio Code. Бесплатная пробная версия GitHub Copilot доступна на 30 дней, если вы еще не зарегистрировались.
Создание веб-канала
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите артефакты и нажмите кнопку "Создать веб-канал".
Укажите описательное имя веб-канала и задайте его видимость (который может просматривать пакеты в веб-канале). Определите область веб-канала и, если вы хотите включить пакеты из общедоступных источников, установите флажок "Вышестоящий источник ".
После завершения работы выберите Создать.
Войдите на сервер Azure DevOps и перейдите к проекту.
Выберите артефакты и нажмите кнопку "Создать веб-канал".
Укажите описательное имя веб-канала и задайте его видимость (который может просматривать пакеты в веб-канале). Определите область веб-канала и, если вы хотите включить пакеты из общедоступных источников, установите флажок "Вышестоящий источник ".
После завершения работы выберите Создать.
После завершения работы выберите Создать.
Подготовка кода
Выполните следующие действия, чтобы создать проект базовой библиотеки классов из командной строки, настроить метаданные пакета и создать пакет NuGet:
На локальном компьютере создайте новую папку и присвойте ей имя.
Откройте окно командной строки и перейдите к созданной папке.
Выполните следующую команду, чтобы создать проект библиотеки классов:
dotnet new classlib
Откройте 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 . пакет NuGet создается в каталоге
bin\release
.dotnet pack
Подключение к веб-каналу
Выберите артефакты и выберите веб-канал в раскрывающемся меню.
Выберите "Подключиться к каналу" и выберите 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 и подключиться к веб-каналу.
Совет
Вы можете попросить GitHub Copilot "как добавить новый источник пакета в существующий файл nuget.config ". Copilot поможет вам с помощью nuget sources Add
команды добавить url-адрес источника веб-канала в файл nuget.config .
Публикация пакетов
Выполните следующую команду из каталога проекта, чтобы опубликовать пакет. ApiKey является обязательным, но при публикации в веб-канале Артефактов Azure можно использовать любое строковое значение.
dotnet nuget push --source <FEED_NAME> --api-key az <PACKAGE_PATH>