Freigeben über


Wichtige Konzepte für Azure-Pipelines

Azure DevOps Services

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

Ü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 eine oder mehrere Umgebungen bereitgestellt werden.
  • Phasen sind eine Möglichkeit zum Organisieren von Pipelines und enthalten jeweils einen oder mehrere Aufträge.
  • Aufträge werden auf Agents 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.
  • Bei einer Task handelt es sich um ein vorgefertigtes Skript, das eine Aktion durchführt, z. B. das Aufrufen einer REST-API oder das Veröffentlichen eines Buildartefakts.
  • Eine Pipelineausführung erzeugt Artefakte wie Dateien oder Pakete.

Azure Pipelines-Begriffe

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 Agentenlose Aufträge 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 Pipeline-Schritten wie Verteilung oder Bereitstellung zur Verfügung stehen. Artefakte in Azure-Pipelines unterscheiden sich von Azure Artifacts, dem Teil von Azure DevOps, mit dem Sie Pakete mit einem einzigen 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 erzeugen Artefakte, die CD-Pipelines für automatische Deployments 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. 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 Azure Pipelines Classic Release Pipelines ist eine Bereitstellungsgruppe eine logische Gruppe von Bereitstellungszielcomputern. Für jeden Zielserver in der Bereitstellungsgruppe ist ein Bereitstellungs-Agent installiert. Weitere Informationen finden Sie unter Bereitstellen von Agents für Bereitstellungsgruppen.

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 Agentenlose Aufträge unterstützte Aufgaben.

Bibliothek

Die Azure Pipelines Library enthält sichere Dateien und variable Gruppen. Gesicherte Dateien sind eine Möglichkeit, Dateien zu speichern und über Pipelines weiterzugeben. 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

Ein Release ist ein versionsspezifischer Satz von Artefakten, die in einer klassischen Pipeline spezifiziert 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 Pipeline-Ausführungen.

Skripte

Ein Skript führt befehlszeilen-, PowerShell- oder Bash-Code als Schritt in Ihrer Pipeline aus. Sie können plattformübergreifende 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 Phase ist eine logische Grenze in einer Pipeline, die die Trennung von Verantwortlichkeiten, z. B. Build, Test und Produktion, markieren kann. 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. Verfügbare Aufgaben finden Sie in der Azure Pipelines-Aufgabenreferenz. Informationen finden Sie unter Hinzufügen einer benutzerdefinierten Pipelines-Aufgabenerweiterung zum Erstellen benutzerdefinierter 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 lesen Sie unter Ereignisse angeben, die Pipelines auslösen und klassische Releasetrigger.