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


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.

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

типа обновления 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, этот файл создается как часть целевого объекта пакета, а его выходное расположение управляется свойством BuiltDockerImagesFilePath.


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

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


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

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

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

Нет.

Замечания

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

Примечание.

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

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

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

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

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

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

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

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

Примеры

Требования

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