Публикация и скачивание Universal Packages с помощью Azure Pipelines
Azure DevOps Services
Универсальные пакеты позволяют упаковать любое количество файлов любого типа и поделиться ими с командой. С помощью задачи универсального пакета в Azure Pipelines можно упаковывать, публиковать и скачивать пакеты различных размеров до 4 ТБ. Каждый пакет однозначно идентифицируется с именем и номером версии. Azure CLI или Azure Pipelines можно использовать для публикации и использования пакетов из веб-каналов артефактов.
Примечание.
Универсальные пакеты доступны только в 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>'
Аргумент | Description |
---|---|
publishDirectory | Расположение файлов, которые вы хотите опубликовать. |
vstsFeedPublish | Имя проекта и канала для публикации. Если вы работаете с веб-каналом область организации, укажите только имя канала. |
vstsFeedPackagePublish | Имя пакета. Должен быть нижним регистром. Используйте только буквы, цифры и дефисы. |
packagePublishDescription | Описание содержимого пакета. |
Чтобы опубликовать пакеты в веб-канале Azure Artifacts из конвейера, удостоверение конвейера должно иметь роль издателя веб-канала (участника). Дополнительные сведения см. в разделе "Разрешения конвейеров".
Чтобы опубликовать внешний веб-канал, необходимо сначала создать подключение к службе для проверки подлинности с помощью веб-канала. Дополнительные сведения см. в разделе "Управление подключением к службе".
Управление версиями пакета
Универсальные пакеты соответствуют спецификации семантического управления версиями и могут быть определены по их именам и номерам версий. Номера семантических версий состоят из трех числовых компонентов, основных, дополнительных и исправлений в формате: 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 и выберите основной вариант, новый пакет будет 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>'
Аргумент | Description |
---|---|
publishDirectory | Расположение файлов, которые вы хотите опубликовать. |
vstsFeedPublish | Имя проекта и канала для публикации. Если вы работаете с веб-каналом область организации, укажите только имя канала. |
vstsFeedPackagePublish | Имя пакета. Должен быть нижним регистром. Используйте только буквы, цифры и дефисы. |
versionOption | Выберите стратегию управления версиями. Доступные варианты: major , minor , patch , custom . |
versionPublish | Пользовательская версия пакета. |
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'
Аргумент | Description |
---|---|
vstsFeed | Веб-канал Артефактов, на котором размещается пакет для скачивания. |
vstsFeedPackage | Имя скачиваемого пакета. |
vstsPackageVersion | Версия пакета, который нужно скачать. |
downloadDirectory | Папка назначения пакета. Значение по умолчанию: $(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
Аргумент | Description |
---|---|
feedsToUse | Задайте значение external при скачивании из внешнего источника. |
externalFeedCredentials | Имя подключения службы к внешнему веб-каналу. Дополнительные сведения см. в разделе "Управление подключениями к службе". |
feedDownloadExternal | Имя внешнего веб-канала. |
packageDownloadExternal | Имя пакета, которое вы хотите скачать. |
versionDownloadExternal | Версия пакета, который вы хотите скачать. |
Совет
Для скачивания последней версии универсального пакета можно использовать дикие карта. Дополнительные сведения см. в разделе "Скачать последнюю версию".