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


ServiceFabricUpdateManifests@2 — задача обновления манифестов Service Fabric версии 2

Используйте эту задачу в конвейере сборки для автоматического обновления версий упаковаемого приложения Service Fabric. Эта задача добавляет суффикс версии ко всем версиям служб и приложений, указанным в файлах манифеста, в пакете приложения Azure Service Fabric.

Синтаксис

# Update Service Fabric manifests v2
# Automatically update portions of application and service manifests in a packaged Azure Service Fabric application.
- task: ServiceFabricUpdateManifests@2
  inputs:
    updateType: 'Manifest versions' # 'Manifest versions' | 'Docker image settings'. Required. Update Type. Default: Manifest versions.
    applicationPackagePath: # string. Required. Application Package. 
    #versionSuffix: '.$(Build.BuildNumber)' # string. Required when updateType = Manifest versions. Version Value. Default: .$(Build.BuildNumber).
    #versionBehavior: 'Append' # 'Append' | 'Replace'. Optional. Use when updateType = Manifest versions. Version Behavior. Default: Append.
    #updateOnlyChanged: false # boolean. Optional. Use when updateType = Manifest versions. Update only if changed. Default: false.
    #pkgArtifactName: # string. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Package Artifact Name. 
    #logAllChanges: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Log all changes. Default: true.
    #compareType: 'LastSuccessful' # 'LastSuccessful' | 'Specific'. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Compare against. Default: LastSuccessful.
    #buildNumber: # string. Optional. Use when updateType = Manifest versions && compareType = Specific. Build Number. 
    #overwriteExistingPkgArtifact: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Overwrite Existing Package Artifact. Default: true.
    #imageNamesPath: # string. Optional. Use when updateType = Docker image settings. Image Names Path. 
    #imageDigestsPath: # string. Required when updateType = Docker image settings. Image Digests Path.
# Update Service Fabric Manifests v2
# Automatically updates portions of the application and service manifests within a packaged Service Fabric application.
- task: ServiceFabricUpdateManifests@2
  inputs:
    updateType: 'Manifest versions' # 'Manifest versions' | 'Docker image settings'. Required. Update Type. Default: Manifest versions.
    applicationPackagePath: # string. Required. Application Package. 
    #versionSuffix: '.$(Build.BuildNumber)' # string. Required when updateType = Manifest versions. Version Value. Default: .$(Build.BuildNumber).
    #versionBehavior: 'Append' # 'Append' | 'Replace'. Optional. Use when updateType = Manifest versions. Version Behavior. Default: Append.
    #updateOnlyChanged: false # boolean. Optional. Use when updateType = Manifest versions. Update only if changed. Default: false.
    #pkgArtifactName: # string. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Package Artifact Name. 
    #logAllChanges: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Log all changes. Default: true.
    #compareType: 'LastSuccessful' # 'LastSuccessful' | 'Specific'. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Compare against. Default: LastSuccessful.
    #buildNumber: # string. Optional. Use when updateType = Manifest versions && compareType = Specific. Build Number. 
    #overwriteExistingPkgArtifact: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Overwrite Existing Package Artifact. Default: true.
    #imageNamesPath: # string. Optional. Use when updateType = Docker image settings. Image Names Path. 
    #imageDigestsPath: # string. Required when updateType = Docker image settings. Image Digests Path.

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

updateType - Тип обновления
string. Обязательный. Допустимые значения: Manifest versions, Docker image settings. Значение по умолчанию: Manifest versions.

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


applicationPackagePath - Пакет приложения
string. Обязательный.

Указывает путь к пакету приложения. В пути можно использовать переменные и подстановочные знаки. applicationPackagePath не должен иметь косую черту в конце или \/.


versionSuffix - Значение версии
string. Требуется, если updateType = Manifest versions. Значение по умолчанию: .$(Build.BuildNumber).

Указывает версию в файлах манифеста.

Совет

Вы можете изменить формат номера сборки напрямую или использовать команду ведения журнала, чтобы динамически задать переменную в формате. Например, можно использовать $(VersionSuffix) определенные в задаче PowerShell:

$versionSuffix = ".$([DateTimeOffset]::UtcNow.ToString('yyyyMMdd.HHmmss'))"
Write-Host "##vso[task.setvariable variable=VersionSuffix;]$versionSuffix"

versionBehavior - Поведение версии
string. Необязательный элемент. Используйте при updateType = Manifest versions. Допустимые значения: Append, Replace. Значение по умолчанию: Append.

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


updateOnlyChanged - Обновление только в случае изменения
boolean. Необязательный элемент. Используйте при updateType = Manifest versions. Значение по умолчанию: false.

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

Примечание

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


pkgArtifactName - Имя артефакта пакета
string. Необязательный элемент. Используйте при updateType = Manifest versions && updateOnlyChanged = true.

Указывает имя артефакта, содержащего пакет приложения для сравнения.


logAllChanges - Регистрация всех изменений
boolean. Необязательный элемент. Используйте при updateType = Manifest versions && updateOnlyChanged = true. Значение по умолчанию: true.

Сравнивает все файлы в каждом пакете и журнал, если файл был добавлен, удален или изменено его содержимое. В противном случае это логическое значение сравнивает файлы в пакете только до тех пор, пока не будет найдено первое изменение для повышения производительности.


compareType - Сравнение с
string. Необязательный элемент. Используйте при updateType = Manifest versions && updateOnlyChanged = true. Допустимые значения: LastSuccessful (последняя успешная сборка), Specific (конкретная сборка). Значение по умолчанию: LastSuccessful.

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


buildNumber - Номер сборки
string. Необязательный элемент. Используйте при updateType = Manifest versions && compareType = Specific.

Указывает номер сборки для сравнения.


overwriteExistingPkgArtifact - Перезапись существующего артефакта пакета
boolean. Необязательный элемент. Используйте при updateType = Manifest versions && updateOnlyChanged = true. Значение по умолчанию: true.

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


imageNamesPath - Путь к именам изображений
string. Необязательный элемент. Используйте при updateType = Docker image settings.

Указывает путь к текстовому файлу, который содержит имена образов Docker, связанных с приложением Service Fabric, которое должно быть обновлено с помощью дайджестов. Имя каждого образа должно находиться в отдельной строке и находиться в том же порядке, что и хэши в файле дайджестов изображений. Если образы создаются проектом Service Fabric, этот файл создается как часть целевого объекта Package, а его выходное расположение управляется свойством BuiltDockerImagesFilePath.


imageDigestsPath - Путь к дайджестам изображений
string. Требуется, если updateType = Docker image settings.

Указывает путь к текстовому файлу, который содержит значения дайджеста образов Docker, связанных с приложением Service Fabric. Этот файл может выводиться задачей Docker при использовании действия отправки. Файл должен содержать строки текста в формате registry/image_name@digest_value.


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

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

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

Нет.

Remarks

Используйте эту задачу в конвейере сборки для автоматического обновления версий упаковаемого приложения Service Fabric. Эта задача добавляет суффикс версии ко всем версиям служб и приложений, указанным в файлах манифеста, в пакете приложения Azure Service Fabric.

Примечание

Для этой задачи требуется Windows PowerShell.

Эта задача недоступна в конвейерах выпуска .

Эту задачу можно использовать только в конвейере сборки для автоматического обновления версий упаковаемого приложения Service Fabric.

Эта задача поддерживает два типа обновлений:

  1. Версия манифеста: Обновления версии службы и приложения, указанные в файлах манифеста в пакете приложения Service Fabric. Если этот параметр указан, manifest version сравнивает текущие файлы с предыдущей сборкой и обновляет версию только для этих измененных служб.

  2. Параметры образа Docker: Обновления параметры образа контейнера Docker, указанные в файлах манифеста в пакете приложения Service Fabric. Параметры изображения для размещения выбираются из двух файлов:

    а. Файл имен изображений: этот файл создается задачей сборки.

    b. Файл дайджестов образа. Этот файл создается задачей Docker при отправке образов в реестр.

Примеры

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка
Выполняется в Агент, DeploymentGroup
Требования Локальные агенты должны иметь возможности , соответствующие следующим требованиям для выполнения заданий, использующих эту задачу: Cmd
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 1.95.0 или более поздней версии
Категория задач Служебная программа