Freigeben über


ServiceFabricUpdateManifests@2 – Update Service Fabric-Manifeste v2-Aufgabe

Verwenden Sie diese Aufgabe in einer Buildpipeline, um die Versionen einer verpackten Service Fabric-App automatisch zu aktualisieren. Diese Aufgabe fügt ein Versionssuffix an alle Dienst- und App-Versionen an, die in den Manifestdateien angegeben sind, in einem Azure Service Fabric-App-Paket.

Syntax

# 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.

Eingänge

updateType - Updatetyp
string. Erforderlich. Zulässige Werte: Manifest versions, Docker image settings. Standardwert: Manifest versions.

Gibt den Aktualisierungstyp an, der an den Manifestdateien vorgenommen werden soll. Um beide Updatetypen zu verwenden, fügen Sie der Buildpipeline eine Instanz dieser Aufgabe hinzu, damit jeder Updatetyp ausgeführt werden kann.


applicationPackagePath - Anwendungspaket-
string. Erforderlich.

Gibt den Pfad zum Anwendungspaket an. Variablen und Wildcards können im Pfad verwendet werden. applicationPackagePath darf keinen nachgestellten Schrägstrich aufweisen, entweder \ oder /.


versionSuffix - Versionswert
string. Erforderlich, wenn updateType = Manifest versions. Standardwert: .$(Build.BuildNumber).

Gibt die Version in den Manifestdateien an.

Tipp

Sie können das Buildnummernformat direkt ändern oder einen Protokollierungsbefehl verwenden, um eine Variable in einem Format dynamisch festzulegen. Sie können beispielsweise $(VersionSuffix) verwenden, die in einer PowerShell-Aufgabe definiert sind:

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

versionBehavior - Versionsverhalten
string. Wahlfrei. Wird verwendet, wenn updateType = Manifest versions. Zulässige Werte: Append, Replace. Standardwert: Append.

Gibt an, ob der Versionswert an vorhandene Werte in den Manifestdateien angefügt oder ersetzt werden soll.


updateOnlyChanged - Nur aktualisieren, wenn geändert wurde
boolean. Wahlfrei. Wird verwendet, wenn updateType = Manifest versions. Standardwert: false.

Fügt das neue Versionssuffix nur an die Pakete an, die von einem vorherigen Build geändert wurden. Wenn keine Änderungen gefunden werden, wird das Versionssuffix aus dem vorherigen Build angefügt.

Hinweis

Standardmäßig erstellt der Compiler unterschiedliche Ausgaben, auch wenn keine Änderungen vorgenommen wurden. Verwenden Sie das deterministische Compilerflagge, um sicherzustellen, dass Builds mit den gleichen Eingaben dieselben Ausgaben erzeugen.


pkgArtifactName - Paketartefaktename
string. Wahlfrei. Wird verwendet, wenn updateType = Manifest versions && updateOnlyChanged = true.

Gibt den Namen des Artefakts an, das das Anwendungspaket zum Vergleich enthält.


logAllChanges - Alle Änderungen protokollieren
boolean. Wahlfrei. Wird verwendet, wenn updateType = Manifest versions && updateOnlyChanged = true. Standardwert: true.

Vergleicht alle Dateien in jedem Paket und Protokoll, wenn die Datei hinzugefügt, entfernt oder der Inhalt geändert wurde. Andernfalls vergleicht dieser boolesche Wert Dateien in einem Paket nur, bis die erste Änderung für eine schnellere Leistung gefunden wird.


compareType - Vergleichen mit
string. Wahlfrei. Wird verwendet, wenn updateType = Manifest versions && updateOnlyChanged = true. Zulässige Werte: LastSuccessful (Last Successful Build), Specific (Specific Build). Standardwert: LastSuccessful.

Gibt an, ob mit dem letzten abgeschlossenen und erfolgreichen Build oder mit einem bestimmten Build verglichen werden soll.


buildNumber - Buildnummer
string. Wahlfrei. Wird verwendet, wenn updateType = Manifest versions && compareType = Specific.

Gibt die Buildnummer für den Vergleich an.


overwriteExistingPkgArtifact - Vorhandenes Paketartefakt überschreiben
boolean. Wahlfrei. Wird verwendet, wenn updateType = Manifest versions && updateOnlyChanged = true. Standardwert: true.

Lädt eine neue Kopie des Artefakts herunter. Andernfalls verwendet dieser boolesche Wert eine vorhandene Kopie, falls vorhanden.


imageNamesPath - Pfad für Bildnamen
string. Wahlfrei. Wird verwendet, wenn updateType = Docker image settings.

Gibt den Pfad zu einer Textdatei an, die die Namen der Docker-Images enthält, die der Service Fabric-Anwendung zugeordnet sind, die mit Digests aktualisiert werden soll. Jeder Bildname muss sich in einer eigenen Zeile befinden und muss in der gleichen Reihenfolge wie die Digests in der Bilddigestdatei sein. Wenn die Bilder vom Service Fabric-Projekt erstellt werden, wird diese Datei als Teil des Paketziels generiert, und der Ausgabespeicherort wird durch die Eigenschaft BuiltDockerImagesFilePathgesteuert.


imageDigestsPath - Image Digests Path
string. Erforderlich, wenn updateType = Docker image settings.

Gibt den Pfad zu einer Textdatei an, die die Digestwerte der Docker-Images enthält, die der Service Fabric-Anwendung zugeordnet sind. Diese Datei kann von der Docker-Aufgabe ausgegeben werden, wenn Sie die Pushaktion verwenden. Die Datei sollte Textzeilen im Format registry/image_name@digest_valueenthalten.


Aufgabensteuerungsoptionen

Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.

Ausgabevariablen

Keiner.

Bemerkungen

Verwenden Sie diese Aufgabe in einer Buildpipeline, um die Versionen einer verpackten Service Fabric-App automatisch zu aktualisieren. Diese Aufgabe fügt ein Versionssuffix an alle Dienst- und App-Versionen an, die in den Manifestdateien angegeben sind, in einem Azure Service Fabric-App-Paket.

Hinweis

Für diese Aufgabe ist Windows PowerShell erforderlich.

Dieser Vorgang ist in Release Pipelines nicht verfügbar.

Diese Aufgabe kann nur in einer Buildpipeline verwendet werden, um die Versionen einer gepackten Service Fabric-App automatisch zu aktualisieren.

Diese Aufgabe unterstützt zwei Arten von Updates:

  1. Manifestversion: Aktualisiert Dienst- und Anwendungsversionen, die in Manifestdateien in einem Service Fabric-Anwendungspaket angegeben sind. Wenn angegeben, vergleicht manifest version aktuelle Dateien mit einem vorherigen Build und aktualisiert die Version nur für diese geänderten Dienste.

  2. Docker-Imageeinstellungen: Aktualisiert Docker-Containerimageeinstellungen, die in Manifestdateien in einem Service Fabric-Anwendungspaket angegeben sind. Die zu platzierenden Bildeinstellungen werden aus zwei Dateien ausgewählt:

    a) Bildnamendatei: Diese Datei wird von der Buildaufgabe generiert.

    b. Datei "Image digests": Diese Datei wird von der Docker-Aufgabe generiert, wenn sie Bilder in die Registrierung überträgt.

Beispiele

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, klassischer Build
Läuft auf Agent, DeploymentGroup
Anforderungen Self-hosted agents must have capabilities that match the following anforderungen to run jobs that use this task: Cmd
Funktionen Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag.
Befehlseinschränkungen Jegliche
Settable-Variablen Jegliche
Agentversion 1.95.0 oder höher
Vorgangskategorie Nützlichkeit