Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die RunOnce-Bereitstellungsstrategie führt Änderungen durch einmaliges Ausführen der einzelnen Schritte aus.
runOnce:
preDeploy: # Pre deploy hook for runOnce deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where pre deploy steps will run.
deploy: # Deploy hook for runOnce deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where deploy steps will run.
routeTraffic: # Route traffic hook for runOnce deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where route traffic steps will run.
postRouteTraffic: # Post route traffic hook for runOnce deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where post route traffic steps will run.
on: # On success or failure hook for runOnce deployment strategy.
failure: # Runs on failure of any step.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where post on failure steps will run.
success: # Runs on success of all of the steps.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where on success steps will run.
Definitionen, die auf diese Definition verweisen: jobs.deployment.strategy
Eigenschaften
preDeploy
preDeployHook.
Pre deploy hook for runOnce deployment strategy.
deploy
deployHook.
Bereitstellen des Hooks für die RunOnce-Bereitstellungsstrategie.
routeTraffic
routeTrafficHook.
Routing-Datenverkehrshaken für die RunOnce-Bereitstellungsstrategie.
postRouteTraffic
postRouteTrafficHook.
Postroute-Datenverkehrshaken für die RunOnce-Bereitstellungsstrategie.
on
onSuccessOrFailureHook.
Bei Erfolgs- oder Fehlerhaken für die RunOnce-Bereitstellungsstrategie.
Bemerkungen
runOnce
ist die einfachste Bereitstellungsstrategie, bei der alle Lebenszyklus-Hooks, nämlich preDeploy
deploy
, routeTraffic
und postRouteTraffic
, einmal ausgeführt werden. Anschließend wird entweder on:
success
oder on:
failure
ausgeführt.
Beschreibungen von Lebenszyklus-Hooks
preDeploy
: Wird verwendet, um Schritte auszuführen, mit denen Ressourcen initialisiert werden, bevor die Anwendungsbereitstellung gestartet wird.
deploy
: Wird verwendet, um Schritte auszuführen, die Ihre Anwendung bereitstellen. Downloadartefaktaufgabe wird nur in den deploy
Hook für Bereitstellungsaufträge automatisch eingefügt. Um das Herunterladen von Artefakten zu beenden, verwenden Sie - download: none
, oder wählen Sie bestimmte Artefakte zum Herunterladen aus, indem Sie Download Pipeline Artifact-Aufgabeangeben.
routeTraffic
: Wird verwendet, um Schritte auszuführen, die den Datenverkehr an die aktualisierte Version bereitstellen.
postRouteTraffic
: Wird verwendet, um die Schritte auszuführen, nachdem der Datenverkehr weitergeleitet wurde. In der Regel überwachen diese Aufgaben den Status der aktualisierten Version auf definiertes Intervall.
on: failure
oder on: success
: Wird zum Ausführen von Schritten für Rollbackaktionen oder zum Bereinigen verwendet.
Beispiele
Im folgenden Beispiel zeigt der YAML-Codeausschnitt eine einfache Verwendung eines Bereitstellungsauftrags mithilfe der runOnce
Bereitstellungsstrategie. Das Beispiel enthält einen Auscheckschritt.
jobs:
# Track deployments on the environment.
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: ubuntu-latest
# Creates an environment if it doesn't exist.
environment: 'smarthotel-dev'
strategy:
runOnce:
deploy:
steps:
- checkout: self
- script: echo my first deployment
Bei jeder Ausführung dieses Auftrags wird der Bereitstellungsverlauf für die smarthotel-dev
Umgebung aufgezeichnet.
Hinweis
- Es ist auch möglich, eine Umgebung mit leeren Ressourcen zu erstellen und diese als abstrakte Shell zum Aufzeichnen des Bereitstellungsverlaufs zu verwenden, wie im vorherigen Beispiel gezeigt.
Im nächsten Beispiel wird veranschaulicht, wie eine Pipeline sowohl auf eine Umgebung als auch auf eine Ressource verweisen kann, die als Ziel für einen Bereitstellungsauftrag verwendet werden soll.
jobs:
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: ubuntu-latest
# Records deployment against bookings resource - Kubernetes namespace.
environment: 'smarthotel-dev.bookings'
strategy:
runOnce:
deploy:
steps:
# No need to explicitly pass the connection details.
- task: KubernetesManifest@0
displayName: Deploy to Kubernetes cluster
inputs:
action: deploy
namespace: $(k8sNamespace)
manifests: |
$(System.ArtifactsDirectory)/manifests/*
imagePullSecrets: |
$(imagePullSecret)
containers: |
$(containerRegistry)/$(imageRepository):$(tag)
Dieser Ansatz hat die folgenden Vorteile:
- Zeichnet den Bereitstellungsverlauf für eine bestimmte Ressource innerhalb der Umgebung auf, anstatt den Verlauf aller Ressourcen innerhalb der Umgebung aufzuzeichnen.
- Schritte im Bereitstellungsauftrag automatisch verbindungsdetails der Ressource erben (in diesem Fall ein Kubernetes-Namespace,
smarthotel-dev.bookings
), da der Bereitstellungsauftrag mit der Umgebung verknüpft ist. Dies ist in den Fällen hilfreich, in denen dasselbe Verbindungsdetails für mehrere Schritte des Auftrags festgelegt ist.