YAML-Schemareferenz für Azure Pipelines
Die YAML-Schemareferenz für Azure Pipelines ist eine ausführliche Referenz für YAML-Pipelines, die alle unterstützten YAML-Syntax und ihre verfügbaren Optionen auflistet.
Um eine YAML-Pipeline zu erstellen, beginnen Sie mit der Pipelinedefinition . Weitere Informationen zum Erstellen von YAML-Pipelines finden Sie unter Anpassen Ihrer Pipeline.
Die YAML-Schemareferenz deckt keine Aufgaben ab. Weitere Informationen zu Aufgaben finden Sie im Azure Pipelines-Aufgabenindex.
Definitionen
Pipeline
Eine Pipeline ist eine oder mehrere Phasen, die einen CI/CD-Prozess beschreiben.
Pipeline
Eine Pipeline ist mindestens ein Auftrag, der einen CI/CD-Prozess beschreibt.
extends
Erweitert eine Pipeline mithilfe einer Vorlage.
Jobs
Gibt die Aufträge an, aus denen die Arbeit einer Phase besteht.
Jobs
Gibt die Aufträge an, aus denen die Arbeit einer Pipeline besteht.
jobs.deployment
Ein Bereitstellungsauftrag ist ein besonderer Auftragstyp. Es handelt sich um eine Sammlung von Schritten, die sequenziell für die Umgebung ausgeführt werden sollen.
jobs.deployment.environment
Name der Zielumgebung und optional ein Ressourcenname zum Aufzeichnen des Bereitstellungsverlaufs; format: environment-name.resource-name.
jobs.deployment.strategy
Ausführungsstrategie für diese Bereitstellung.
jobs.deployment.strategy.canary
Canary-Bereitstellungsstrategie.
jobs.deployment.strategy.rolling
Strategie für die fortlaufende Bereitstellung.
jobs.deployment.strategy.runOnce
RunOnce-Bereitstellungsstrategie.
jobs.job
Ein Auftrag ist eine Sammlung von Schritten, die von einem Agent oder auf einem Server ausgeführt werden.
jobs.job.container
Containerressourcenname.
jobs.job.strategy
Ausführungsstrategie für diesen Auftrag.
jobs.job.uses
Alle Ressourcen, die für diesen Auftrag erforderlich sind und auf die nicht bereits verwiesen wird.
jobs.template
Eine Gruppe von Aufträgen, die in einer Vorlage definiert sind.
Parameter
Gibt die Laufzeitparameter an, die an eine Pipeline übergeben werden.
parameters.parameter
Pipelinevorlagenparameter.
Pool
Welcher Pool für einen Auftrag der Pipeline verwendet werden soll.
pool.demands
Anforderungen (für einen privaten Pool).
Pr
Pull Request-Trigger.
Ressourcen
Resources gibt Builds, Repositorys, Pipelines und andere Ressourcen an, die von der Pipeline verwendet werden.
resources.builds
Liste der Buildressourcen, auf die von der Pipeline verwiesen wird.
resources.builds.build
Eine Buildressource, die verwendet wird, um auf Artefakte aus einer Ausführung zu verweisen.
resources.containers
Liste der Containerimages.
resources.containers.container
Eine Containerressource, die verwendet wird, um auf ein Containerimage zu verweisen.
resources.containers.container.trigger
Geben Sie keine zum Deaktivieren an, true, um für alle Bildtags auszulösen, oder verwenden Sie die vollständige Syntax, wie in den folgenden Beispielen beschrieben.
resources.packages
Liste der Paketressourcen.
resources.packages.package
Eine Paketressource, die verwendet wird, um auf ein NuGet- oder npm GitHub-Paket zu verweisen.
resources.pipelines
Liste der Pipelineressourcen.
resources.pipelines.pipelines
Eine Pipelineressource.
resources.pipelines.pipeline.trigger
Geben Sie keine zum Deaktivieren, true an, um alle Branches einzuschließen, oder verwenden Sie die vollständige Syntax, wie in den folgenden Beispielen beschrieben.
resources.pipelines.pipeline.trigger.branches
Branchs, die zum Auslösen einer Ausführung eingeschlossen oder ausgeschlossen werden sollen.
resources.repositorys
Liste der Repositoryressourcen.
resources.repository.repository
Eine Repositoryressource wird verwendet, um auf ein zusätzliches Repository in Ihrer Pipeline zu verweisen.
resources.webhooks
Liste der Webhooks.
resources.webhooks.webhook
Mit einer Webhookressource können Sie Ihre Pipeline in einen externen Dienst integrieren, um den Workflow zu automatisieren.
resources.webhooks.webhook.filters
Liste der Triggerfilter.
resources.webhooks.webhook.filters.filter
Webhook-Ressourcentriggerfilter.
Zeitpläne
Die Liste "Zeitpläne" gibt die geplanten Trigger für die Pipeline an.
schedules.cron
Ein geplanter Trigger gibt einen Zeitplan an, auf dem Branches erstellt werden.
Phasen
Phasen sind eine Sammlung verwandter Aufträge.
stages.stage
Eine Phase ist eine Sammlung verwandter Aufträge.
stages.template
Sie können eine Reihe von Phasen in einer Datei definieren und sie mehrmals in anderen Dateien verwenden.
Schritte
Schritte sind eine lineare Abfolge von Vorgängen, aus denen ein Auftrag besteht.
steps.bash
Führt ein Skript in Bash unter Windows, macOS und Linux aus.
steps.checkout
Konfigurieren Sie, wie die Pipeline Quellcode auscheckt.
steps.download
Lädt Artefakte herunter, die der aktuellen Ausführung oder aus einer anderen Azure Pipeline zugeordnet sind, die als Pipelineressource zugeordnet ist.
steps.downloadBuild
Lädt Buildartefakte herunter.
steps.getPackage
Lädt ein Paket aus einem Paketverwaltungsfeed in Azure Artifacts oder Azure DevOps Server herunter.
steps.powershell
Führt ein Skript mit Windows PowerShell (unter Windows) oder pwsh (Linux und macOS) aus.
steps.publish
Veröffentlicht (lädt) eine Datei oder einen Ordner als Pipelineartefakt hoch, das andere Aufträge und Pipelines nutzen können.
steps.pwsh
Führt ein Skript in PowerShell Core unter Windows, macOS und Linux aus.
steps.reviewApp
Downloads erstellt eine Ressource dynamisch unter einem Bereitstellungsphasesanbieter.
steps.script
Führt ein Skript mit cmd.exe unter Windows und Bash auf anderen Plattformen aus.
steps.task
Führt einen Task aus.
steps.template
Definieren Sie eine Reihe von Schritten in einer Datei, und verwenden Sie sie mehrmals in einer anderen Datei.
Ziel
Aufgaben werden in einem Ausführungskontext ausgeführt, bei dem es sich entweder um den Agenthost oder einen Container handelt.
target.settableVariables
Einschränkungen für die Variablen, die festgelegt werden können.
Trigger (trigger)
Continuous Integration (Push)-Trigger.
Variablen
Definieren Sie Variablen mithilfe von Name-Wert-Paaren.
variables.group
Referenzvariablen aus einer Variablengruppe.
variables.name
Definieren Sie Variablen mithilfe des Namens und der vollständigen Syntax.
variables.template
Definieren sie Variablen in einer Vorlage.
Unterstützende Definitionen
Hinweis
Unterstützende Definitionen sind nicht für die direkte Verwendung in einer Pipeline vorgesehen. Unterstützende Definitionen werden nur als Teil anderer Definitionen verwendet und werden hier als Referenz eingeschlossen.
deployHook
Wird verwendet, um Schritte auszuführen, die Ihre Anwendung bereitstellen.
includeExcludeFilters
Listen von Elementen, die eingeschlossen oder ausgeschlossen werden sollen.
includeExcludeStringFilters
Elemente, die eingeschlossen oder ausgeschlossen werden sollen.
mountReadOnly
Volumes, die schreibgeschützt eingebunden werden sollen, ist der Standardwert false.
onFailureHook
Wird verwendet, um Schritte für Rollbackaktionen oder Bereinigen auszuführen.
onSuccessHook
Wird verwendet, um Schritte für Rollbackaktionen oder Bereinigen auszuführen.
onSuccessOrFailureHook
Wird verwendet, um Schritte für Rollbackaktionen oder Bereinigen auszuführen.
postRouteTrafficHook
Wird verwendet, um die Schritte auszuführen, nachdem der Datenverkehr weitergeleitet wurde. In der Regel überwachen diese Aufgaben die Integrität der aktualisierten Version für ein definiertes Intervall.
preDeployHook
Wird verwendet, um Schritte auszuführen, die Ressourcen initialisieren, bevor die Anwendungsbereitstellung gestartet wird.
routeTrafficHook
Wird verwendet, um Schritte auszuführen, die den Datenverkehr für die aktualisierte Version bereitstellen.
Arbeitsbereich
Arbeitsbereichsoptionen für den Agent.
YAML-Schemadokumentationskonventionen
Die YAML-Schemareferenz ist eine ausführliche Referenzanleitung zu YAML-Pipelines in Azure Pipelines. Sie enthält einen Katalog mit allen unterstützten YAML-Funktionen und den verfügbaren Optionen.
Hier sind die Syntaxkonventionen aufgeführt, die in der YAML-Schemareferenz verwendet werden.
- Links von
:
befindet sich ein Literalschlüsselwort, das in Pipelinedefinitionen verwendet wird. - Rechts von
:
steht ein Datentyp. Der Datentyp kann ein primitiver Typ wie Zeichenfolge oder ein Verweis auf eine umfangreiche Struktur sein, die an anderer Stelle in diesem Verweis definiert ist. - Der Notationsdatentyp
]
[
gibt ein Array des genannten Definitionstyps an. Beispielsweise[ string ]
ist ein Array von Zeichenfolgen. - Die Schreibweise
{
Datentyp:
Datentyp}
gibt die Zuordnung des einen Datentyps zum anderen an. Ist beispielsweise{ string: string }
eine Zuordnung von Zeichenfolgen zu Zeichenfolgen. - Das Symbol
|
gibt an, dass für das Schlüsselwort mehrere Datentypen verfügbar sind. Bedeutet beispielsweise,job | template
dass entweder eine Auftragsdefinition oder ein Vorlagenverweis zulässig ist.
Weitere Informationen
In dieser Referenz wird das Schema einer YAML-Datei von Azure Pipelines behandelt.
Informationen zu den Grundlagen von YAML finden Sie unter YaML in Y Minuten lernen.
Azure Pipelines unterstützt nicht alle YAML-Features.
Nicht unterstützte Features umfassen Anker, komplexe Schlüssel und Sätze.
Außerdem hängt Azure Pipelines im Gegensatz zu Standard-YAML davon ab, dass , job
, task
oder eine Aufgabenverknüpfung wie script
der erste Schlüssel in einer Zuordnung angezeigt wirdstage
.