UniversalPackages@0 — задача универсальных пакетов версии 0

Используйте эту задачу для скачивания или упаковки и публикации универсальных пакетов.

Синтаксис

# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed (or Project/Feed if the feed was created in a project). 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed (or Project/Feed if the feed was created in a project). 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
  # Output
    #publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.
# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed. 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed. 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
  # Output
    #publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.
# Universal Packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. Account/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed. 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. Account/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed. 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.

Входные данные

command - Команды
string. Обязательный. Допустимые значения: download, publish. Значение по умолчанию: download.

Указывает выполняемую команду NuGet.


downloadDirectory - Целевой каталог
string. Требуется при .command = download Значение по умолчанию: $(System.DefaultWorkingDirectory).

Указывает путь к папке, куда задача скачивает содержимое пакета.


feedsToUse - Расположение веб-канала
Входной псевдоним: internalOrExternalDownload. string. Требуется при .command = download Допустимые значения: internal (эта организация или коллекция), external (другая организация или коллекция). Значение по умолчанию: internal.

Указывает веб-канал из этой коллекции или другой коллекции в Azure Artifacts.


feedsToUse - Расположение веб-канала
Входной псевдоним: internalOrExternalDownload. string. Требуется при .command = download Допустимые значения: internal (эта учетная запись или коллекция), external (другая учетная запись или коллекция). Значение по умолчанию: internal.

Указывает веб-канал из этой коллекции или другой коллекции в Azure Artifacts.


externalFeedCredentials - Подключение к организации или коллекции
Входной псевдоним: externalEndpoint. string. Необязательный элемент. Используйте при internalOrExternalDownload = external && command = download.

Указывает учетные данные, используемые для внешних реестров, расположенных в выбранном NuGet.configобъекте . Для веб-каналов в этой организации или коллекции оставьте это поле пустым; учетные данные сборки используются автоматически.


externalFeedCredentials - Подключение учетной записи или коллекции
Входной псевдоним: externalEndpoint. string. Необязательный элемент. Используйте при internalOrExternalDownload = external && command = download.

Указывает учетные данные, используемые для внешних реестров, расположенных в выбранном NuGet.configобъекте . Для веб-каналов в этой организации или коллекции оставьте это поле пустым; учетные данные сборки используются автоматически.


vstsFeed - Кормить
Входной псевдоним: feedListDownload. string. Требуется при .internalOrExternalDownload = internal && command = download

Включает выбранный веб-канал. Чтобы выбрать веб-канал, необходимо установить и лицензировать Azure Artifacts. Указывает feedName для веб-канала уровня организации и projectName/FeedName или ProjectID/FeedID для веб-канала с областью проекта.


vstsFeedPackage - Имя пакета
Входной псевдоним: packageListDownload. string. Требуется при .internalOrExternalDownload = internal && command = download

Указывает имя пакета для скачиваемой задачи.


vstsPackageVersion - Версия
Входной псевдоним: versionListDownload. string. Требуется при .internalOrExternalDownload = internal && command = download

Указывает версию пакета или использует переменную, содержащую версию для скачивания. Эта запись также может быть выражением с подстановочными знаками, например *, чтобы получить самую высокую версию. Примеры: 1.* возвращает самую высокую версию с основной версией 1 и 1.2.* самый высокий выпуск исправлений с основной версией 1 и дополнительной версией 2.


feedDownloadExternal - Веб-канал (или project/feed, если веб-канал был создан в проекте)
string. Требуется при .internalOrExternalDownload = external && command = download

Указывает веб-канал в другой организации или коллекции.

Для веб-каналов с областью проекта значение должно быть Project/Feedравно , где Project — это имя или идентификатор проекта, а Feed — имя или идентификатор веб-канала. Для веб-каналов уровня организации значение должно быть только именем веб-канала.


feedDownloadExternal - Кормить
string. Требуется при .internalOrExternalDownload = external && command = download

Указывает веб-канал в другой организации или коллекции.

Для веб-каналов с областью проекта значение должно быть Project/Feedравно , где Project — это имя или идентификатор проекта, а Feed — имя или идентификатор веб-канала. Для веб-каналов уровня организации значение должно быть только именем веб-канала.


packageDownloadExternal - Имя пакета
string. Требуется при .internalOrExternalDownload = external && command = download

Указывает имя пакета для скачивания.


versionDownloadExternal - Версия
string. Требуется при .internalOrExternalDownload = external && command = download

Указывает версию пакета или использует переменную, содержащую версию для скачивания. Эта запись также может быть выражением с подстановочными знаками, например *, чтобы получить самую высокую версию. Примеры: 1.* возвращает самую высокую версию с основной версией 1 и 1.2.* самый высокий выпуск исправлений с основной версией 1 и дополнительной версией 2. Шаблоны с подстановочными знаками не поддерживаются пакетами предварительной версии.


publishDirectory - Путь к файлам для публикации
string. Требуется при .command = publish Значение по умолчанию: $(Build.ArtifactStagingDirectory).

Указывает путь к списку публикуемых файлов.


feedsToUsePublish - Расположение веб-канала
Входной псевдоним: internalOrExternalPublish. string. Требуется при .command = publish Допустимые значения: internal (эта организация или коллекция), external (другая организация или коллекция). Значение по умолчанию: internal.

Указывает веб-канал из этой коллекции или другой коллекции в Azure Artifacts.


feedsToUsePublish - Расположение веб-канала
Входной псевдоним: internalOrExternalPublish. string. Требуется при .command = publish Допустимые значения: internal (эта учетная запись или коллекция), external (другая учетная запись или коллекция). Значение по умолчанию: internal.

Указывает веб-канал из этой коллекции или другой коллекции в Azure Artifacts.


publishFeedCredentials - Подключение к организации или коллекции
Входной псевдоним: externalEndpoints. string. Требуется при .internalOrExternalPublish = external && command = publish

Указывает учетные данные, используемые для внешних веб-каналов.


publishFeedCredentials - Подключение учетной записи или коллекции
Входной псевдоним: externalEndpoints. string. Требуется при .internalOrExternalPublish = external && command = publish

Указывает учетные данные, используемые для внешних веб-каналов.


vstsFeedPublish - Целевой веб-канал
Входной псевдоним: feedListPublish. string. Требуется, если internalOrExternalPublish = internal && command = publish.

Указывает проект и имя веб-канала или GUID для публикации.


publishPackageMetadata - Публикация метаданных конвейера
boolean. Необязательный элемент. Используйте при command = publish && internalOrExternalPublish = internal. Значение по умолчанию: true.

Связывает метаданные конвейера сборки и выпуска (например, сведения о запуске и исходном коде) с пакетом.


vstsFeedPackagePublish - Имя пакета
Входной псевдоним: packageListPublish. string. Требуется, если internalOrExternalPublish = internal && command = publish.

Указывает идентификатор пакета для публикации или создает новый идентификатор пакета, если вы еще не публиковали версию этого пакета. Имена пакетов должны быть строчными и могут содержать только буквы, цифры и дефисы (-).


feedPublishExternal - Веб-канал (или project/feed, если веб-канал был создан в проекте)
string. Требуется, если internalOrExternalPublish = external && command = publish.

Указывает имя внешнего веб-канала для публикации.

Если веб-канал был создан в проекте, значение должно быть Project/Feedравно , где Project — это имя или идентификатор проекта, а Feed — имя веб-канала. Если веб-канал не был создан в проекте, значением должно быть только имя веб-канала.


feedPublishExternal - Кормить
string. Требуется, если internalOrExternalPublish = external && command = publish.

Указывает имя внешнего веб-канала для публикации.

Если веб-канал был создан в проекте, значение должно быть Project/Feedравно , где Project — это имя или идентификатор проекта, а Feed — имя веб-канала. Если веб-канал не был создан в проекте, значением должно быть только имя веб-канала.


packagePublishExternal - Имя пакета
string. Требуется, если internalOrExternalPublish = external && command = publish.

Указывает имя пакета при публикации во внешнем веб-канале.


versionOption - Версия
Входной псевдоним: versionPublishSelector. string. Требуется, если command = publish. Допустимые значения: major (Следующий основной), minor (Следующий дополнительный), patch (Следующее исправление), custom. Значение по умолчанию: patch.

Задает стратегию приращения версии. Значение custom для ввода версии пакета вручную. Для новых пакетов первая версия будет 1.0.0, если указать major, 0.1.0, если указать minor, или 0.0.1, если указан patchпараметр . Дополнительные сведения см. в спецификации семантического управления версиями .


versionPublish - Пользовательская версия
string. Требуется, если versionPublishSelector = custom && command = publish.

Указывает пользовательскую схему версии для пакета.


packagePublishDescription - Описание
string. Необязательный элемент. Используйте при command = publish.

Указывает описание содержимого пакета и (или) изменений, внесенных в эту версию пакета.


verbosity - Детализации
string. Допустимые значения: None, Trace, Debug, Information, Warning, Error. Critical Значение по умолчанию: None.

Указывает объем сведений, отображаемых в выходных данных.


verbosity - Детализации
string. Допустимые значения: None, Trace, Debug, WarningInformation, Error, ( Critical Citical). Значение по умолчанию: None.

Указывает объем сведений, отображаемых в выходных данных.


publishedPackageVar - Выходная переменная пакета
string. Необязательный элемент. Используйте при command = publish.

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


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Используйте эту задачу для скачивания или упаковки и публикации универсальных пакетов.

Моему конвейеру требуется доступ к веб-каналу в другом проекте

Если конвейер выполняется в проекте, отличном от проекта, в котором размещен веб-канал, необходимо настроить другой проект для предоставления доступа на чтение и запись к службе сборки. Дополнительные сведения см. в статье Разрешения пакета в Azure Pipelines .

Примеры

Самый простой способ приступить к работе с задачей "Универсальный пакет" — использовать редактор задач Конвейеры для создания YAML. Затем можно скопировать созданный код в файл проекта azure-pipelines.yml . В этом примере показано, как быстро создать YAML с помощью конвейера, который создает прогрессивное веб-приложение (PWA) GatsbyJS.

Универсальные пакеты — это полезный способ инкапсуляции и версии веб-приложения. Упаковка веб-приложения в универсальный пакет обеспечивает быстрый откат к определенной версии сайта и устраняет необходимость в создании сайта в конвейере развертывания.

В этом примере конвейера показано, как получить средство из веб-канала в проекте. Задача "Универсальный пакет" используется для скачивания средства, запуска сборки и повторного использования задачи "Универсальный пакет" для публикации всего скомпилированного PWA GatsbyJS в веб-канале в качестве универсального пакета с управлением версиями.

Снимок экрана: пример проекта.

Скачивание пакета с помощью задачи "Универсальный пакет"

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

  1. Добавьте задачу "Универсальный пакет", щелкнув значок "плюс", введя "universal" в поле поиска и нажав кнопку Добавить , чтобы добавить задачу в конвейер.

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

  2. Щелкните только что добавленную задачу "Универсальный пакет " и выберите команду в Download.

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

  4. Выберите исходный веб-канал , содержащий средство, задайте имя пакета и выберите Версия средства imagemagick в исходном веб-канале.

    Снимок экрана: настройка задачи универсального пакета для скачивания.

  5. После заполнения полей щелкните Просмотреть YAML , чтобы просмотреть созданный YAML.

    Снимок экрана: просмотр YAML.

  6. Построитель задач универсального пакета создает упрощенный КОД YAML, содержащий значения, отличные от значений по умолчанию. Скопируйте созданный YAML в azure-pipelines.yml файл в корне репозитория Git проекта.

    # Download Universal Package
    steps:
    - task: UniversalPackages@0
      displayName: 'Universal download'
      inputs:
        downloadDirectory: Application
        vstsFeed: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000001'
        vstsFeedPackage: imagemagick
        vstsPackageVersion: 1.0.0
    

Публикация пакета с помощью задачи "Универсальный пакет"

На последнем шаге в этом примере конвейера используется задача "Универсальный пакет" для отправки готового к использованию приложения Gatsby PWA, созданного на Run gatsby build этом шаге, в веб-канал в виде универсального пакета с управлением версиями. После входа в веб-канал у вас будет постоянная копия всего сайта, которую можно развернуть у поставщика услуг размещения и начать с gatsby serve.

  1. Добавьте еще одну задачу универсального пакета в конец конвейера, щелкнув значок "плюс", введя "universal" в поле поиска и нажав кнопку Добавить , чтобы добавить задачу в конвейер. Эта задача собирает все готовые к работе ресурсы, созданные на Run gatsby build этапе , создает универсальный пакет с управлением версиями и публикует пакет в веб-канале.

    Снимок экрана: задание задачи универсального пакета для публикации.

  2. Задайте для команды значение Publish.

  3. Задайте Путь к файлам, чтобы опубликовать его в каталоге, содержащем проект package.jsonGatsbyJS .

  4. Выберите целевой веб-канал, имя пакета и задайте стратегию управления версиями.

    Снимок экрана: настройка задачи универсального пакета для публикации.

  5. Заполнив обязательные поля, щелкните Просмотреть YAML.

  6. Скопируйте полученный ФАЙЛ YAML в azure-pipelines.yml файл, как и раньше. Ниже отображается YAML для этого примера проекта.

    # Publish Universal Package
    steps:
    - task: UniversalPackages@0
      displayName: 'Universal publish'
      inputs:
        command: publish
        publishDirectory: Application
        vstsFeedPublish: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000002' # You can also use '<projectName>/<feedName>' instead of the GUIDs
        vstsFeedPackagePublish: mygatsbysite
        packagePublishDescription: 'A test package'
    

В этом примере показано, как использовать построитель задач Конвейеры для быстрого создания YAML для задачи универсального пакета, который затем можно поместить в azure-pipelines.yml файл. Построитель задач универсального пакета поддерживает все расширенные конфигурации, которые можно создать с помощью аргументов задачи универсального пакета .

Примечание

Публикация пакета непосредственно в представлении не поддерживается в Azure Artifacts. Сначала необходимо опубликовать пакет в веб-канале, а затем повысить его до представления.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.144.0 или более поздней версии
Категория задач Пакет
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.115.0 или более поздней версии
Категория задач Пакет