Поделиться через


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

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

В этой статье описывается процесс публикации первого пакета в веб-канале Артефактов Azure. Вы также можете использовать GitHub Copilot для упрощения этого процесса и изучения возможностей чата GitHub Copilot в Visual Studio Code.

Необходимые компоненты

Создание веб-канала

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

  2. Выберите артефакты и нажмите кнопку "Создать веб-канал".

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

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

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

  1. Войдите на сервер Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и нажмите кнопку "Создать веб-канал".

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

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

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

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

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

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

Выполните следующие действия, чтобы создать проект базовой библиотеки классов из командной строки, настроить метаданные пакета и создать пакет NuGet:

  1. На локальном компьютере создайте новую папку и присвойте ей имя.

  2. Откройте окно командной строки и перейдите к созданной папке.

  3. Выполните следующую команду, чтобы создать проект библиотеки классов:

    dotnet new classlib
    
  4. Откройте 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>
    
  5. Выполните следующую команду, чтобы упаковать проект и создать артефакт nupkg . пакет NuGet создается в каталоге bin\release .

    dotnet pack
    

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

  1. Выберите артефакты и выберите веб-канал в раскрывающемся меню.

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

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

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

Совет

Вы можете попросить GitHub Copilot "как добавить новый источник пакета в существующий файл nuget.config ". Copilot поможет вам с помощью nuget sources Add команды добавить url-адрес источника веб-канала в файл nuget.config .

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

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

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

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