Freigeben über


YAML-Schemareferenz für Azure Pipelines

Die YAML-Schemareferenz für Azure Pipelines ist eine detaillierte Referenz für YAML-Pipelines, in der alle unterstützten YAML-Syntax und ihre verfügbaren Optionen aufgeführt sind.

Um eine YAML-Pipeline zu erstellen, beginnen Sie mit der Pipeline Definition. Weitere Informationen zum Erstellen von YAML-Pipelines finden Sie unter Anpassen Der Pipeline-.

Die YAML-Schemareferenz deckt keine Aufgaben ab. Weitere Informationen zu Aufgaben finden Sie im Azure Pipelines Tasks Index.

Definitionen

Pipeline-
Eine Pipeline ist eine oder mehrere Phasen, die einen CI/CD-Prozess beschreiben. Die Pipelinedefinition enthält die Dokumentation für Eigenschaften auf Stammebene wie name.

erweitert
Erweitert eine Pipeline mithilfe einer Vorlage.

Aufträge
Gibt die Aufträge an, aus denen die Arbeit einer Phase besteht.

jobs.deployment
Ein Bereitstellungsauftrag ist eine spezielle Art von Auftrag. Es ist eine Sammlung von Schritten, die sequenziell für die Umgebung ausgeführt werden sollen.

jobs.deployment.environment
Zielumgebungsname 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
Rollbereitstellungsstrategie.

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 von diesem Auftrag benötigt werden, auf die noch nicht 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.

parameter.parameter
Pipelinevorlagenparameter.

Pool-
Welcher Pool für einen Auftrag der Pipeline verwendet werden soll.

pool.anforderungen
Anforderungen (für einen privaten Pool).

pr
Pullanforderungstrigger.

Ressourcen
Ressourcen 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 zum Verweisen auf Artefakte aus einer Ausführung verwendet wird.

resources.containers
Liste der Containerimages.

resources.containers.container
Eine Containerressource, die verwendet wird, um auf ein Containerimage zu verweisen.

resources.containers.container.trigger
Angeben, dass keine deaktiviert werden soll, "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.pipeline
Eine Pipelineressource.

resources.pipelines.pipelines.pipeline.trigger
Angeben, dass keine deaktiviert werden soll, "true", um alle Verzweigungen einzuschließen, oder verwenden Sie die vollständige Syntax, wie in den folgenden Beispielen beschrieben.

resources.pipelines.pipeline.trigger.branches
Verzweigungen, die zum Auslösen einer Ausführung eingeschlossen oder ausgeschlossen werden sollen.

resources.repositories
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
Einer Webhook-Ressource 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, in dem Verzweigungen 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 mehrmals in anderen Dateien verwenden.

Schritte
Schritte sind eine lineare Abfolge von Vorgängen, die einen Auftrag bilden.

steps.bash
Führt ein Skript in Bash unter Windows, macOS und Linux aus.

steps.checkout
Konfigurieren, 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
Downloads Buildartefakte.

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

steps.script
Führt ein Skript mit cmd.exe unter Windows und Bash auf anderen Plattformen aus.

steps.task
Führt eine Aufgabe 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, der entweder der Agenthost oder ein Container ist.

target.settableVariables-
Einschränkungen für die Variablen, die festgelegt werden können.

auslösen
Kontinuierlicher Integrationsauslöser (Push) aus.

Variablen
Definieren von Variablen mithilfe von Namen-Wert-Paaren.

variables.group-
Referenzvariablen aus einer Variablengruppe aus.

variables.name
Definieren von Variablen mithilfe von Name und vollständiger Syntax.

variables.template
Definieren von 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 zur 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 bereitgestellt werden sollen, ist der Standardwert "false".

onFailureHook-
Wird zum Ausführen von Schritten für Rollbackaktionen oder zum Bereinigen verwendet.

onSuccessHook
Wird zum Ausführen von Schritten für Rollbackaktionen oder zum Bereinigen verwendet.

onSuccessOrFailureHook
Wird zum Ausführen von Schritten für Rollbackaktionen oder zum Bereinigen verwendet.

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

preDeployHook-
Wird verwendet, um Schritte auszuführen, mit denen Ressourcen initialisiert werden, bevor die Anwendungsbereitstellung gestartet wird.

routeTrafficHook
Wird verwendet, um Schritte auszuführen, die den Datenverkehr an die aktualisierte Version bereitstellen.

Arbeitsbereich
Arbeitsbereichsoptionen für den Agent.

YaML-Schemadokumentationskonventionen

Die YAML-Schemareferenz ist ein detaillierter Referenzleitfaden für Azure-Pipelines YAML-Pipelines. Es enthält einen Katalog aller unterstützten YAML-Funktionen und der verfügbaren Optionen.

Hier sind die Syntaxkonventionen, die in der YAML-Schemareferenz verwendet werden.

  • Links neben : ist ein literales Schlüsselwort, das in Pipelinedefinitionen verwendet wird.
  • Rechts von : befindet sich ein Datentyp. Der Datentyp kann ein Grundtyp sein, z. B. Zeichenfolgen- oder ein Verweis auf eine umfangreiche Struktur, die an anderer Stelle in diesem Verweis definiert ist.
  • Die Notation [Datentyp] gibt ein Array des erwähnten Definitionstyps an. Beispielsweise ist [ string ] ein Array von Zeichenfolgen.
  • Die Schreibweise {Datentyp:Datentyp} gibt eine Zuordnung eines Datentyps zu einem anderen an. Beispielsweise ist { string: string } eine Zuordnung von Zeichenfolgen zu Zeichenfolgen.
  • Das Symbol | gibt an, dass für das Schlüsselwort mehrere Datentypen zur Verfügung stehen. Beispielsweise bedeutet job | template, dass entweder eine Auftragsdefinition oder ein Vorlagenverweis zulässig ist.

Siehe auch

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 Minutes. Azure Pipelines unterstützt nicht alle YAML-Features. Nicht unterstützte Features umfassen Anker, komplexe Schlüssel und Sets. Im Gegensatz zu standardmäßigen YAML hängt Azure Pipelines auch davon ab, stage, job, taskoder eine Aufgabenverknüpfung wie script als erster Schlüssel in einer Zuordnung zu sehen.