Публикация первого пакета в веб-канале Артефактов Azure

Артефакты Azure позволяют разработчикам эффективно управлять всеми их зависимостями с одного фида. Веб-каналы в Azure Artifacts служат репозиториями организации для хранения, управления и совместного использования пакетов, будь то в команде, в организациях или в Интернете. Артефакты Azure поддерживают широкий спектр типов пакетов, включая NuGet, npm, Python, Maven, Cargo и универсальные пакеты.

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

Предварительные требования

Продукт Требования
Azure DevOps Организация Azure DevOps.
— проект Azure DevOps .
— Скачайте и установите поставщик учетных данных Azure Artifacts.
— Donwload и установите последнюю версию NuGet.
GitHub Copilot (необязательно) - Настройте GitHub Copilot и Visual Studio Code. Бесплатная пробная версия GitHub Copilot доступна на 30 дней, если вы еще не зарегистрировались.

Создайте ленту

Если у вас уже есть веб-канал, этот раздел можно пропустить. В противном случае выполните приведенные ниже действия, чтобы создать новый веб-канал в Azure Artifacts:

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите Артефакты, затем выберите Создать ленту.

  3. Укажите описательное имя для веб-канала и задайте его видимость , чтобы определить, кто может просматривать пакеты в веб-канале. Определите область веб-канала и установите флажок "Вышестоящий источник ", если требуется включить пакеты из общедоступных источников.

  4. После завершения работы выберите Создать.

    Снимок экрана: создание веб-канала в Azure DevOps Services.

  1. Войдите в коллекцию Azure DevOps и перейдите к проекту.

  2. Выберите Артефакты, затем выберите Создать ленту.

  3. Укажите описательное имя для веб-канала и задайте его видимость , чтобы определить, кто может просматривать пакеты в веб-канале. Определите область веб-канала и установите флажок "Вышестоящий источник ", если требуется включить пакеты из общедоступных источников.

  1. После завершения работы выберите Создать.

    Снимок экрана: создание веб-канала в Azure DevOps Server 2022.

Подготовка пакета

В этом примере вы будете использовать пример библиотеки классов .NET Core и настроить метаданные пакета перед созданием проекта и созданием пакета NuGet, готовым к публикации в веб-канале. Если у вас еще нет проекта, следуйте инструкциям в этом руководстве по созданию библиотеки классов .NET с помощью Visual Studio Code.

  1. Откройте проект в 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>
    
  2. Выполните следующую команду в каталоге проекта, чтобы создать проект и создать пакет nupkg . Пакет будет находиться в папке bin\release .

    dotnet pack
    

Подключение к веб-каналу

Выполните приведенные ниже действия, чтобы настроить проект и подключиться к веб-каналу Артефактов Azure. Убедитесь, что вы установили поставщик учетных данных Azure Artifacts и последнюю версию NuGet, как описано в предварительных требованиях.

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите Артефакты, а затем выберите свой канал из раскрывающегося меню.

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

  4. Следуйте инструкциям в настройке проекта, чтобы настроить файл 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>
      
  1. Войдите в коллекцию Azure DevOps и перейдите к проекту.

  2. Выберите Артефакты, и затем выберите вашу ленту в раскрывающемся меню.

  3. Выберите Подключиться к каналу и выберите dotnet на панели навигации слева.

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

    Снимок экрана, на котором показано, как подключиться к веб-каналу в Azure DevOps Server 2020 и 2022.

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

Выполните следующую команду из каталога проекта, чтобы опубликовать пакет в веб-канале Azure Artifacts. Этот --api-key параметр является обязательным, но при публикации в Azure Artifacts можно использовать любое строковое значение.

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

Следующие шаги