Публикация и скачивание универсальных пакетов с помощью Azure Pipelines
Azure DevOps Services
Универсальные пакеты позволяют упаковать любое количество файлов любого типа и поделиться ими с командой. С помощью задачи универсального пакета в Azure Pipelines можно упаковывать, публиковать и скачивать пакеты различных размеров до 4 ТБ. Каждый пакет однозначно идентифицируется с именем и номером версии. Можно использовать Azure CLI или Azure Pipelines для публикации и использования пакетов из каналов Artifacts.
Заметка
Универсальные пакеты доступны только в Azure DevOps Services.
Копирование файлов
Задача универсальных пакетов в Azure Pipelines использует $(Build.ArtifactStagingDirectory)
в качестве каталога публикации по умолчанию. Чтобы подготовить универсальный пакет для публикации, переместите файлы, которые вы хотите опубликовать в этом каталоге. Вы также можете использовать задачу копирования файлов для копирования этих файлов в директорию публикации.
Публикация универсального пакета
Чтобы опубликовать универсальный пакет в канале артефактов Azure, добавьте следующую задачу в файл YAML конвейера.
- task: UniversalPackages@0
displayName: Publish a Universal Package
inputs:
command: publish
publishDirectory: '$(Build.ArtifactStagingDirectory)'
vstsFeedPublish: '<projectName>/<feedName>'
vstsFeedPackagePublish: '<Package name>'
packagePublishDescription: '<Package description>'
Аргумент | Описание |
---|---|
publishDirectory | Расположение файлов, которые вы хотите опубликовать. |
vstsFeedPublish | Имя проекта и канала для публикации. Если вы работаете с организационным каналом, укажите только название канала. |
vstsFeedPackagePublish | Имя пакета. Необходимо использовать строчные буквы. Используйте только буквы, цифры и дефисы. |
описание публикации пакета | Описание содержимого пакета. |
Чтобы опубликовать пакеты в канал Azure Artifacts из конвейера, идентификатор конвейера должен иметь роль Издатель канала (Участник) на этом канале. Дополнительные сведения см. в разделе Разрешения конвейерных процессов.
Чтобы опубликовать во внешний канал, необходимо сначала создать подключение к службе для аутентификации с вашим каналом. Дополнительные сведения см. в статье Управление подключением службы.
Управление версиями пакетов
Универсальные пакеты соответствуют спецификации семантического управления версиями и могут быть определены по их именам и номерам версий. Семантические номера версий состоят из трех числовых компонентов: Major, Minor, и Patch, в формате: Major.Minor.Patch
.
Минорная версия увеличивается при добавлении новых функций, которые являются обратно совместимыми с предыдущими версиями, в этом случае вы увеличиваете минорную версию и сбрасываете номер патча до 0 (с1.4.17
до 1.5.0
). Основной номер версии увеличивается при наличии значительных изменений, которые могут нарушить совместимость с предыдущими версиями. В этом случае увеличьте основную версию и сбросьте минорную и патч версии до 0 (2.6.5
до 3.0.0
). Номер версии исправления следует увеличить при внесении только исправлений ошибок или других небольших изменений, которые не влияют на совместимость с предыдущими версиями (1.0.0
для 1.0.1
).
При публикации нового пакета задача универсальных пакетов автоматически выбирает следующую основную, дополнительную или исправленную версию.
Чтобы включить управление версиями для пакета, добавьте versionOption
вход в ваш файл YAML. Варианты публикации новой версии пакета: major
, minor
, patch
или custom
.
Выбор custom
позволяет вручную указать версию пакета. Другие параметры получают последнюю версию пакета из репозитория и прибавляют 1 к выбранному сегменту версии. Поэтому, если у вас есть testPackage 1.0.0, и выберите параметр major, новый пакет будет testPackage 2.0.0. Если выбрать опцию минорный, версия пакета будет 1.1.0, а если выбрать опцию патч, версия пакета будет 1.0.1.
Если выбрать параметр custom
, необходимо также указать значение versionPublish
следующим образом:
- task: UniversalPackages@0
displayName: Publish a Universal Package
inputs:
command: publish
publishDirectory: '$(Build.ArtifactStagingDirectory)'
vstsFeedPublish: '<projectName>/<feedName>'
vstsFeedPackagePublish: '<Package name>'
versionOption: custom
versionPublish: '<Package version>'
packagePublishDescription: '<Package description>'
Аргумент | Описание |
---|---|
publishDirectory | Расположение файлов, которые вы хотите опубликовать. |
vstsFeedPublish | Название проекта и канала, в который публикуется. Если вы работаете с веб-каналом с областью организации, укажите только имя канала. |
vstsFeedPackagePublish | Имя пакета. Должен быть написан в нижнем регистре. Используйте только буквы, цифры и дефисы. |
опция версии | Выберите стратегию управления версиями. Параметры: major , minor , patch , custom . |
публикацияВерсии | Кастомная версия пакета. |
packagePublishDescription | Описание содержимого пакета. |
Скачивание универсального пакета
Чтобы скачать универсальный пакет из канала вашей организации, используйте задачу универсального пакета с командой download
следующим образом:
steps:
- task: UniversalPackages@0
displayName: Download a Universal Package
inputs:
command: download
vstsFeed: '<projectName>/<feedName>'
vstsFeedPackage: '<packageName>'
vstsPackageVersion: '<packageVersion>'
downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Аргумент | Описание |
---|---|
vstsFeed | Веб-канал Артефактов, на котором размещается пакет для скачивания. |
vstsFeedPackage | Имя скачиваемого пакета. |
vstsPackageVersion | Версия пакета, который нужно скачать. |
каталог загрузок | Папка назначения пакета. Значение по умолчанию: $(System.DefaultWorkingDirectory). |
Чтобы скачать универсальный пакет из внешнего источника, используйте следующий фрагмент кода:
steps:
- task: UniversalPackages@0
displayName: Download a Universal Package
inputs:
command: download
feedsToUse: external
externalFeedCredentials: 'MSENG2'
feedDownloadExternal: 'fabrikamFeedExternal'
packageDownloadExternal: 'fabrikam-package'
versionDownloadExternal: 1.0.0
Аргумент | Описание |
---|---|
каналыДляИспользования | Задайте значение external при скачивании из внешнего источника. |
externalFeedCredentials | Имя подключения службы к внешнему источнику данных. Дополнительные сведения см. в разделе управления подключениями служб. |
загрузка внешнего фида | Имя внешнего веб-канала. |
загрузкаВнешнегоПакета | Имя пакета, которое вы хотите скачать. |
версияСкачатьИзвне | Версия пакета, который вы хотите скачать. |
Совет
С помощью подстановочных знаков можно скачать последнюю версию универсального пакета. Дополнительные сведения см. в статье Скачивание последней версии.
Связанные статьи
- вышестоящие источники универсальных пакетов
- Поиск пакетов в внешних источниках
- разрешения веб-канала