Freigeben über


Wichtige Azure Pipelines Konzepte

Azure DevOps Services

In diesem Artikel werden die wichtigsten Konzepte und Komponenten beschrieben, die Azure Pipelines bilden. Das Verständnis der grundlegenden Begriffe und Teile einer Pipeline kann Ihnen helfen, Ihren Code effektiver zu erstellen, zu testen und bereitzustellen.

Tipp

Sie können KI verwenden, um diese Aufgabe zu unterstützen weiter unten in diesem Artikel, oder lesen Sie Enable AI-Unterstützung bei Azure DevOps MCP Server, um zu beginnen.

Übersicht über wichtige Konzepte

Die folgende Grafik zeigt die Hauptkomponenten und Aktionen einer Pipeline.

Diagramm, das die wichtigsten Konzepte einer Pipeline zeigt.

Dave Jarvis hat zu dieser Grafik beigetragen.

  • Ein manueller, geplanter oder automatisierter Trigger bewirkt, dass eine Pipeline gestartet wird.
  • Eine Pipeline kann eine oder mehrere Phasen enthalten und in einer oder mehreren Umgebungen bereitgestellt werden.
  • Phasen sind eine Möglichkeit zum Organisieren von Pipelines und enthalten jeweils einen oder mehrere Aufträge.
  • Aufträge werden auf Agenten ausgeführt oder können agentlos sein.
  • Jeder Auftrag enthält eine oder mehrere Schritte.
  • Ein Schritt ist das kleinste Element einer Pipeline und kann eine Aufgabe oder ein Skript sein.
  • Eine Aufgabe ist ein vordefiniertes Skript, das eine Aktion ausführt, z. B. das Aufrufen einer REST-API oder das Veröffentlichen eines Buildartefaktes.
  • Eine Pipelineausführung erzeugt Artefakte wie Dateien oder Pakete.

Azure Pipelines Bedingungen

Die folgenden Begriffe definieren wichtige Azure Pipelines Komponenten und Prozesse.

Agenten

Ein Agent ist die Computerinfrastruktur mit installierter Agentsoftware, die jeweils einen Pipelineauftrag ausführt. Beispielsweise könnte ein Auftrag auf einem von Microsoft gehosteten Ubuntu-Agent ausgeführt werden. Weitere Informationen zu verschiedenen Agentstypen und deren Verwendung finden Sie unter Azure Pipelines Agents.

Eine begrenzte Anzahl von Aufgabenschritten kann ohne Verwendung eines Agents ausgeführt werden. Weitere Informationen finden Sie unter Agentlose Jobs unterstützte Aufgaben.

Genehmigungen und Überprüfungen

Genehmigungen und Überprüfungen definieren eine Reihe von Überprüfungen, die vor der Ausführung einer Pipeline oder Phase erforderlich sind. Die manuelle Genehmigung ist eine häufige Überprüfung für die Steuerung von Bereitstellungen in Produktionsumgebungen. Wenn eine Umgebung Überprüfungen und Genehmigungen konfiguriert hat, laufen die Pipelines nicht weiter, bis alle Überprüfungen und Genehmigungen erfolgreich abgeschlossen wurden.

Artefakte

Artefakte sind Sammlungen von Dateien oder Paketen, die von einer Ausführung veröffentlicht wurden und nachfolgenden Pipelineaufgaben wie Verteilung oder Bereitstellung zur Verfügung gestellt werden. Artifacts in Azure Pipelines unterscheiden sich von Azure Artifacts, dem Teil von Azure DevOps, mit dem Sie Pakete mit einem einzelnen Feed speichern, verwalten und freigeben können.

Kontinuierliche Lieferung

Die kontinuierliche Bereitstellung (Continuous Delivery, CD) ist ein Prozess zum Erstellen, Testen und Bereitstellen von Code in einer oder mehreren Test- und Produktionsumgebungen. Das Bereitstellen und Testen in mehreren Phasen trägt dazu bei, die Qualität zu steigern, indem Fehler frühzeitig und häufig erkannt werden.

Automatisierte CD-Releasepipelines können Artefakte von CI-Pipelines (kontinuierliche Integration) nutzen, um neue Versionen und Fixes freizugeben. Ständige Überwachung und Warnung bieten Einblicke in den CD-Prozess.

Kontinuierliche Integration

Kontinuierliche Integration (Continuous Integration, CI) ist ein Prozess, der automatisierte Tests ausführt und nach einem Zeitplan, bei Code-Änderungen oder beidem, erstellt wird. CI vereinfacht das Testen und Erstellen von Code und hilft, Probleme frühzeitig im Entwicklungszyklus zu erfassen, wenn sie einfacher und schneller zu beheben sind. CI-Pipelines generieren Artefakte, die CD-Pipelines für automatische Bereitstellungen verwenden können.

Einsatz

Bei YAML-Pipelines ist ein Bereitstellungsauftrag eine Sammlung von Schritten, die sequenziell für eine Umgebung ausgeführt werden. Bereitstellungsaufträge können Strategien wie runOnce, rolling und canary verwenden. Weitere Informationen finden Sie unter Bereitstellungsaufträge.

In klassischen Pipelines führt der Bereitstellungsvorgang die Aufgaben für die Bereitstellungsphase aus, was das Ausführen automatisierter Tests, das Bereitstellen von Build-Artefakten und andere angegebene Aktionen umfassen kann.

Bereitstellungsgruppen

In den klassischen Releasepipelines von Azure Pipelines ist eine Deployment-Gruppe eine logische Gruppe von Bereitstellungszielcomputern. Für jeden Zielserver in der Bereitstellungsgruppe ist ein Bereitstellungs-Agent installiert. Weitere Informationen finden Sie unter Agenten für Bereitstellungsgruppen bereitstellen.

Umgebungen

Eine Umgebung ist eine Sammlung von Ressourcen wie virtuellen Computern, Containern, Web-Apps oder Diensten, in denen Sie Ihre Anwendung bereitstellen. Pipelines können nach Abschluss eines Builds und der Ausführung von Tests in einer oder mehreren Umgebungen bereitgestellt werden.

Arbeitsplätze

Ein Auftrag stellt eine Ausführungsgrenze einer Reihe von Schritten dar, die sequenziell auf demselben Agent ausgeführt werden. Pipelinephasen können einen oder mehrere Jobs enthalten. Aufträge werden nicht immer sequenziell in Phasen standardmäßig ausgeführt.

Aufträge sind nützlich, um eine Reihe von Schritten in verschiedenen Umgebungen auszuführen. Ihre Buildphase kann z. B. einen Auftrag zum Erstellen einer x86 Konfiguration und einen anderen Auftrag zum Erstellen einer x64 Konfiguration enthalten.

Jeder Auftrag wird auf einem Agent ausgeführt, der alle Schritte in diesem Auftrag ausführt. Eine begrenzte Anzahl von Aufgabenschritten unterstützt agentlose Aufträge, die ohne Agent ausgeführt werden. Weitere Informationen finden Sie unter Agentlose Jobs unterstützte Aufgaben.

Bibliothek

Die Azure Pipelines Library umfasst secure files und variable groups. Sichere Dateien sind eine Möglichkeit zum Speichern und Freigeben von Dateien über Pipelines hinweg. Variable Gruppen speichern Werte und geheime Schlüssel, die Sie in eine YAML-Pipeline übergeben oder für mehrere Pipelines verfügbar machen können.

Rohrleitungen

Eine Azure Pipelines Pipeline definiert einen Workflow für Build-, Test- und Bereitstellungsaufgaben, von der Ausführung einer Batchdatei zum Automatisieren des CI/CD-Prozesses für eine App. Eine Pipeline besteht aus einer oder mehreren Phasen, die Aufträge und Schritte enthalten.

Sie können Pipelines mithilfe von YAML-basierten oder klassischen Editoren definieren. Weitere Informationen finden Sie unter YAML vs Classic Pipelines.

Veröffentlichungen

Eine Freigabe ist ein versionierter Satz von Artefakten, die in einer klassischen Pipeline angegeben sind. Die Version enthält eine Momentaufnahme aller Informationen, die zum Ausführen der Releasepipeline erforderlich sind, z. B. Phasen, Aufgaben, Trigger, Genehmigungsrichtlinien und Bereitstellungsoptionen. Sie können eine Version manuell, mit einem Bereitstellungstrigger oder mit der REST-API erstellen.

In YAML-Pipelines sind die Build- und Releasephasen alle in der Multistage-Pipelinedefinition enthalten.

Läufe

Das Ausführen stellt jeweils eine Ausführung einer Pipeline dar. Während einer Ausführung verarbeitet Azure Pipelines zuerst die Pipeline und sendet dann die Ausführung an einen oder mehrere Agents, um die Aufträge auszuführen. Die Ausführung sammelt die Protokolle der ausgeführten Schritte und die Ergebnisse der durchgeführten Tests. Weitere Informationen finden Sie unter Pipelineausführungen.

Skripte

Ein Skript führt befehlszeilen-, PowerShell- oder Bash-Code als Schritt in Ihrer Pipeline aus. Sie können cross-Platform-Skripts für macOS, Linux und Windows schreiben. Im Gegensatz zu einer vordefinierten Aufgabe ist ein Skript benutzerdefinierter Code, der für Ihre Pipeline spezifisch ist.

Phasen

Eine Stufe ist eine logische Grenze in einer Pipeline, die die Trennung von Verantwortlichkeiten markieren kann, z. B. Build, Test und Produktion. Jede Phase enthält einen oder mehrere Aufträge. Mehrere Phasen in einer Pipeline werden standardmäßig nacheinander ausgeführt. Sie können andere Bedingungen festlegen, wann eine Phase stattfindet.

Das Definieren von Phasen in einer Pipeline ist nützlich, wenn:

  • Separate Gruppen verwalten verschiedene Teile der Pipeline. Wenn beispielsweise verschiedene Manager Test- und Bereitstellungsaufträge verwalten, ist es sinnvoll, separate Test- und Produktionsphasen zu haben.
  • Eine Reihe von Genehmigungen ist mit einem bestimmten Auftrag oder einer Reihe von Aufträgen verbunden. Sie können diese Aufträge in separate Phasen für die Genehmigung einfügen.
  • Die Pipeline verfügt über Aufträge, die lange ausgeführt werden müssen. Sie können solche Aufgaben in ihre eigenen Phasen einfügen.

Schritte

Ein Schritt ist der kleinste Baustein einer Pipeline. Standardmäßig werden die Schritte nacheinander in einem Auftrag ausgeführt. Ein Schritt kann entweder ein Skript oder eine Aufgabe sein.

Aufgaben

Eine Aufgabe ist ein vordefiniertes Skript oder eine Prozedur, die mit einer Reihe von Eingaben abstrahiert wird, um die Automatisierung in einer Pipeline zu definieren. Informationen zu verfügbaren Vorgängen finden Sie in der Azure Pipelines Vorgangsreferenz. Informationen zum Erstellen benutzerdefinierter Aufgaben finden Sie unter Erstellen einer benutzerdefinierten Erweiterung für Pipeline-Aufgaben.

Auslöser

Ein Trigger (Auslöser) ist ein Ereignis, das dazu führt, dass eine Pipeline ausgeführt wird. Sie können eine Pipeline manuell auslösen oder gemäß einem festgelegten Zeitplan ausführen. Sie können auch eine Pipeline auslösen, die automatisch bei einem Push an ein Repository, nach Abschluss eines anderen Builds oder unter anderen Bedingungen ausgeführt wird. Weitere Informationen finden Sie unter Angeben von Ereignissen, die Pipelines auslösen und klassische Releasetrigger.

Verwenden von KI zum Erkunden von Pipelinekonzepten

Wenn Sie den Azure DevOps MCP Server konfigurieren, können Sie Pipelinekonzepte untersuchen und Pipelines mit natürlicher Sprache behandeln.

Aufgabe Beispielaufforderung
Fehlgeschlagene Builds anzeigen Show me failed builds this week in project <Contoso>
Agentkapazität überprüfen Which agents have capacity issues or long queue times in <Contoso>?
Pipelinephasen auflisten What stages are defined in the "CI-Main" pipeline in <Contoso>?
Aktuelle Pipeline-Läufe anzeigen Show the last 10 pipeline runs for project <Contoso> and their results
Suchen nach langsamen Aufträgen Which jobs in the "Release-Prod" pipeline in <Contoso> are taking the longest?
Prüfen von Triggern What triggers are configured for the "Build-API" pipeline in <Contoso>?
Artefakte überprüfen List the artifacts published by the latest run of "CI-Main" in <Contoso>
Überprüfen von Umgebungsbereitstellungen Show recent deployments to the "production" environment in <Contoso>
Identifizieren von Genehmigungsblockern Are there any pending approvals blocking pipeline runs in <Contoso>?
Überprüfen von Variablengruppen What variable groups are used by pipelines in project <Contoso>?

Tipp

Wenn Sie Visual Studio Code verwenden, ist der Agentmodus besonders hilfreich, um Pipelinekonzepte zu untersuchen und Buildfehler zu beheben.