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


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

Azure DevOps Services

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

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

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

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

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

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

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

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

    Снимок экрана, показывающий, как создать новый веб-канал.

Заметка

Недавно созданные веб-каналы назначают роль службы сборки проекта как веб-канал и средство чтения upstream (сотрудник) по умолчанию.

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

Использование интерфейса командной строки помогает упростить задачи. Прежде чем продолжить, убедитесь, что вы установили Azure CLI (версия 2.10.1 или более поздней версии). Кроме того, необходимо установить расширение Azure DevOps для управления службами Azure DevOps из командной строки.

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

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

    az extension update --name azure-devops
    

Подключиться к ленте

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

  2. Выберите артефакты, а затем выберите ваш канал в выпадающем меню.

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

  4. Следуйте инструкциям в разделе настройки проекта, чтобы подключиться к вашему каналу.

  1. Выполните следующую команду, чтобы войти в Azure CLI:

    az login
    
  2. Выполните следующую команду, чтобы задать проект и организацию в качестве конфигурации интерфейса командной строки по умолчанию:

    az devops configure --defaults project=<YOUR_PROJECT_NAME> organization=https://dev.azure.com/<YOUR_ORGANIZATION_NAME> 
    

Заметка

Если ваша организация использует брандмауэр или прокси-сервер, убедитесь, что вы разрешаете URL-адреса домена и IP-адреса Azure Artifacts .

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

Чтобы опубликовать универсальный пакет в вашем канале обновлений, необходимо указать имя пакета и номер версии.

Имя пакета должно находиться в нижнем регистре, начинать и заканчиваться буквами или цифрами, а также содержать только буквы, цифры и неконсекутивные дефисы, символы подчеркивания и периоды. Версия пакета также должна быть в нижнем регистре и не должна включать метаданные сборки (+ суффикс). Дополнительные сведения см. в семантическом версионировании.

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

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

      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>
      
    • Проектный фид:

      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>
      

Заметка

Универсальные пакеты, содержащие исключительно большое количество файлов (100K+), могут не публиковаться. В этом случае рекомендуется объединить файлы в архив ZIP или TAR, чтобы уменьшить количество файлов.

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

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

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

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

Скачивание универсальных пакетов

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

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

    az artifacts universal download --organization https://dev.azure.com/<YOUR_ORGANIZATION_NAME> --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <DOWNLOAD_PATH>
    
  • Веб-канал с областью действия проекта:

    az artifacts universal download --organization https://dev.azure.com/<YOUR_ORGANIZATION_NAME> --project <PROJECT_NAME> --scope project --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <DOWNLOAD_PATH>
    

Скачивание определенных файлов

Если вы хотите скачать только определенные файлы, используйте параметр --file-filter для получения подмножества файлов. Дополнительные сведения см. в справочнике по шаблонам сопоставления файлов .

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

    az artifacts universal download --organization https://dev.azure.com/<YOUR_ORGANIZATION_NAME> --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <DOWNLOAD_PATH> --file-filter <MATCH_PATTERN>
    
  • Веб-канал с областью действия проекта:

    az artifacts universal download --organization https://dev.azure.com/<YOUR_ORGANIZATION_NAME> --project <PROJECT_NAME> --scope project --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <DOWNLOAD_PATH> --file-filter <MATCH_PATTERN>
    

Пример: Например, использование --file-filter logs/.log будет соответствовать любому файлу с именем, содержащим "logs" и оканчивающимся на расширение ".log" (например, build_logs.log).

Скачайте последнюю версию

Для скачивания последней версии универсальных пакетов можно использовать подстановочные знаки *.

примеры:

  • --version '*': скачайте последнюю версию.

  • --version '1.*': скачайте последнюю основную версию 1.0.

  • --version '1.2.*': скачайте последний релиз обновления с мажорной версией 1 и минорной версией 2.

Заметка

Шаблоны подстановочных знаков не поддерживаются в ещё не вышедших версиях (то есть, в пакетах с дефисом в номере версии).