Публикация универсальных пакетов из каналов артефактов Azure

Службы Azure DevOps

Универсальные пакеты позволяют хранить множество типов файлов и содержимого пакета за пределами таких форматов, как NuGet, npm и пакеты Python. Их можно опубликовать непосредственно из командной строки с помощью Azure CLI. Универсальный пакет может составлять до 4 ТиБ и должен содержать имя и версию. В этой статье показано, как опубликовать универсальный пакет в веб-канале Azure Artifacts.

Необходимые условия

продукт требования
Azure DevOps — Организация Azure DevOps.
— проект Azure DevOps .
Установите Azure CLI.
— Установите расширение Azure DevOps версии 0.14.0 или более поздней.

Установка расширения Azure DevOps

Расширение Azure DevOps для Azure CLI позволяет управлять службами Azure DevOps из командной строки. Перед установкой убедитесь, что установлен Azure CLI версии 2.10.1 или более поздней.

  1. Чтобы установить расширение Azure DevOps, выполните следующую команду:

    az extension add --name azure-devops
    
  2. Чтобы обновить существующую установку до последней версии, выполните следующую команду:

    az extension update --name azure-devops
    

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

Прежде чем опубликовать пакет Universal, вам потребуется канал, в который его можно опубликовать. Канал — это контейнер, в котором хранятся и систематизируются ваши пакеты, и вы можете контролировать, кто имеет к ним доступ. Чтобы создать веб-канал для проекта или организации, выполните следующие действия.

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

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

  3. Введите имя для вашего веб-канала.

  4. Выберите параметр видимости , чтобы контролировать, кто может просматривать пакеты.

  5. Выберите Включить пакеты из распространённых общедоступных источников, если вы хотите, чтобы ваш канал также извлекал пакеты из общедоступных источников, таких как nuget.org или npmjs.com.

  6. Для параметра Scope выберите, относится ли канал только к вашему проекту или ко всей организации.

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

    Снимок экрана, показывающий, как создать новый канал в Azure DevOps Services.

Публикация универсальных пакетов

После создания веб-канала вы готовы опубликовать в нем универсальный пакет. Каждый опубликованный пакет должен иметь имя и номер версии, и оба должны соответствовать определенным правилам именования:

  • Имя пакета должно состоять из строчных букв, начинаться и заканчиваться буквой или цифрой и может включать только буквы, цифры и дефисы, не идущие подряд (-), подчёркивания (_) или точки (.).
  • Версия пакета также должна быть в нижнем регистре и не может содержать метаданные сборки, обозначаемые суффиксом +. Дополнительные сведения см. в семантическом версионировании.
  1. Выполните одну из следующих команд, чтобы опубликовать универсальный пакет, в зависимости от того, относится ли ваш канал к проекту или ко всей организации:

    • веб-канал с областью действия проекта:

      az artifacts universal publish --organization https://dev.azure.com/<YOUR_ORGANIZATION> --project <PROJECT_NAME> --scope project --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <PACKAGE_DIRECTORY> --description <PACKAGE_DESCRIPTION>
      
    • лента, ограниченная масштабом организации:

      az artifacts universal publish --organization https://dev.azure.com/<YOUR_ORGANIZATION> --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <PACKAGE_DIRECTORY> --description <PACKAGE_DESCRIPTION>
      

Заметка

Если пакет содержит очень большое количество файлов (100 тыс. или более), публикация может завершиться ошибкой. В этом случае объедините файлы в ZIP-архив или TAR , чтобы уменьшить количество файлов.

Просмотр опубликованных пакетов

После публикации пакета вы можете убедиться, что он доступен в вашем канале.

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

  2. Выберите артефакты, а затем выберите ваш канал в выпадающем меню. Если публикация выполнена успешно, пакет должен быть доступен в веб-канале.

    Снимок экрана: недавно опубликованный универсальный пакет.