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 die 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. Die Pipelinedefinition enthält die Dokumentation für Eigenschaften auf Stammebene wie name.

Pipeline
Eine Pipeline ist ein oder mehrere Aufträge, die einen CI/CD-Prozess beschreiben.

Erweitert
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 spezieller Auftragstyp. Er ist eine Sammlung von Schritten, die nacheinander für die Umgebung ausgeführt werden.

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 parallele 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
Name der Containerressource.

jobs.job.strategy
Ausführungsstrategie für diesen Auftrag.

jobs.job.uses
Alle ressourcen, die für diesen Auftrag erforderlich sind, auf die noch nicht verwiesen wird.

jobs.template
Eine Gruppe von Aufträgen, die in einer Vorlage definiert sind.

Parameter
Gibt die an eine Pipeline übergebenen Laufzeitparameter an.

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 none to disable, true an, 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.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
Verzweigungen, die zum Auslösen einer Ausführung eingeschlossen oder ausgeschlossen werden sollen.

resources.repositories
Liste der Repositoryressourcen.

resources.repositories.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, nach 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
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 sauber auszuführen.

onSuccessHook
Wird verwendet, um Schritte für Rollbackaktionen oder sauber auszuführen.

onSuccessOrFailureHook
Wird verwendet, um Schritte für Rollbackaktionen oder sauber 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. Er 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 : steht 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. [ string ] ist z. B. ein Array von Zeichenfolgen.
  • Die Schreibweise {Datentyp:Datentyp} gibt die Zuordnung des einen Datentyps zum anderen an. Beispielsweise ist { string: string } eine Zuordnung von Zeichenfolgen zu Zeichenfolgen.
  • Das Symbol | gibt an, dass für das Schlüsselwort mehrere Datentypen verfügbar sind. job | template bedeutet z. B., 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. Zu den nicht unterstützten Features zählen Anker, komplexe Schlüssel und Sätze. Außerdem hängt Azure Pipelines im Gegensatz zu Standard-YAML davon ab, dass stage, job, task oder eine Aufgabenverknüpfung wie script als erster Schlüssel in einer Zuordnung zu sehen ist.