View a markdown version of this page

CodePipeline Konzepte - AWS CodePipeline

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

CodePipeline Konzepte

Die Modellierung und Konfiguration Ihres automatisierten Veröffentlichungsprozesses ist einfacher, wenn Sie die in verwendeten Konzepte und Begriffe verstehen AWS CodePipeline. Im Folgenden finden Sie einige Konzepte, die Sie kennen sollten, wenn Sie CodePipeline verwenden.

Ein Beispiel für eine DevOps Pipeline finden Sie unterDevOps Beispiel für eine Pipeline.

Die folgenden Begriffe werden verwendet in CodePipeline:

Pipelines

Eine Pipeline ist ein Workflow-Konstrukt, das den Veröffentlichungsprozess von Software-Änderungen beschreibt. Jede Pipeline besteht aus einer Reihe von Phasen.

Stufen

Eine Phase ist eine logische Einheit, mit der Sie eine Umgebung isolieren und die Anzahl der Änderungen einschränken können, die in dieser Umgebung gleichzeitig ausgeführt werden. Jede Phase enthält Aktionen, die für die Artefakte der Anwendung ausgeführt werden. Ihr Quellcode ist ein Beispiel für ein Artefakt. Bei einer Phase kann es sich um eine Build-Phase handeln, in der der Quellcode erstellt und getestet wird. Es kann sich auch um eine Bereitstellungsphase handeln, in der Code in Laufzeitumgebungen bereitgestellt wird. Jede Phase besteht aus einer Reihe serieller oder paralleler Aktionen.

Übergänge

Ein Übergang ist der Punkt, an dem eine Pipeline-Ausführung zur nächsten Phase in der Pipeline wechselt. Sie können den Eingangspunkt einer Phase deaktivieren, um zu verhindern, dass Ausführungen in diese Phase eintreten. Anschließend können Sie den Eingangspunkt aktivieren, damit Ausführungen fortgesetzt werden können. Wenn mehrere Ausführungen an einem deaktivierten Übergangspunkt eintreffen, wird nur die neueste Ausführung zur nächsten Phase fortgesetzt, wenn der Übergangspunkt aktiviert wird. Das bedeutet, dass neuere Ausführungen bereits wartende Ausführungen ersetzen, während der Übergangspunkt deaktiviert ist. Nach der Aktivierung des Übergangspunkts wird nur die ersetzende Ausführung fortgesetzt.

Eine Pipeline enthält Phasen, die Aktionen enthalten. Diese werden durch Übergänge getrennt, die deaktiviert und aktiviert werden können.

Aktionen

Eine Aktion ist ein Satz von Operationen, die auf Anwendungscode angewendet werden. Sie ist für die Ausführung an einem bestimmten Punkt der Pipeline konfiguriert. Dies können Quellaktionen aufgrund von Codeänderungen, Aktionen zum Bereitstellen der Anwendung auf Instances usw. sein. Beispielsweise könnte eine Bereitstellungsphase eine Bereitstellungsaktion enthalten, die Code für einen Rechendienst wie Amazon EC2 oder bereitstellt. AWS Lambda

Gültige CodePipeline Aktionstypen sindsource,build, test deployapproval, und. invoke Eine Liste der Aktionsanbieter finden Sie unter Gültige Aktionsanbieter in CodePipeline.

Aktionen können seriell oder parallel ausgeführt werden. Informationen zu seriellen und parallelen Aktionen in einer Phase finden Sie in den runOrder Informationen unter Anforderungen an die Aktionsstruktur.

Pipeline-Ausführungen

Eine Ausführung ist ein Satz von Änderungen, die von einer Pipeline freigegeben werden. Jede Pipeline-Ausführung ist eindeutig und besitzt eine eigene ID. Eine Ausführung entspricht einem Satz von Änderungen, z. B. einem zusammengeführten Commit oder einer manuellen Freigabe des letzten Commits. Zwei Ausführungen können den gleichen Satz von Änderungen zu unterschiedlichen Zeitpunkten freigeben.

Während eine Pipeline mehrere Ausführungen gleichzeitig verarbeiten kann, verarbeitet eine Pipeline-Phase jeweils nur eine Ausführung zur selben Zeit. Hierzu wird die Phase gesperrt, während sie eine Ausführung verarbeitet. Zwei Pipeline-Ausführungen können nicht gleichzeitig dieselbe Phase belegen. Die Ausführung, die darauf wartet, die besetzte Phase zu betreten, ist eine eingehende Ausführung. Eine eingehende Ausführung kann immer noch fehlschlagen, ersetzt werden oder manuell gestoppt werden. Weitere Hinweise zur Funktionsweise eingehender Ausführungen finden Sie unter. So funktionieren eingehende Hinrichtungen

Pipeline-Ausführungen durchlaufen die Pipeline-Phasen der Reihe nach. Gültige Statuswerte für Pipelines sind InProgress, Stopping, Stopped, Succeeded, Superseded und Failed.

Weitere Informationen finden Sie unter PipelineExecution.

Angehaltene Ausführungen

Die Pipeline-Ausführung kann manuell angehalten werden, sodass die laufende Pipeline-Ausführung nicht durch die Pipeline hindurch fortgesetzt wird. Wenn die Pipeline-Ausführung manuell angehalten wird, zeigt sie den Status Stopping an, bis sie vollständig gestoppt wird. Danach zeigt sie den Status Stopped an. Eine Stopped-Pipeline-Ausführung kann erneut ausgeführt werden.

Es gibt zwei Möglichkeiten, eine Pipeline-Ausführung anzuhalten:

  • Anhalten und warten

  • Anhalten und beenden

Informationen über Anwendungsfälle für das Anhalten einer Ausführung und Details zur Reihenfolge dieser Optionen finden Sie unter Pipeline-Ausführungen beenden.

Fehlgeschlagene Ausführungen

Wenn eine Ausführung fehlschlägt, wird sie angehalten und durchläuft die Pipeline nicht vollständig. Ihr Status wechselt in die Phase FAILED und CodePipeline entsperrt sie. Eine neuere Ausführung kann in die entsperrte Phase eintreten und diese sperren. Sie können eine fehlgeschlagene Ausführung wiederholen, wenn diese nicht ersetzt wurde oder nicht wiederholbar ist. Sie können eine fehlgeschlagene Phase auf eine frühere erfolgreiche Ausführung zurücksetzen.

Ausführungsmodi

Um die neuesten Änderungen über eine Pipeline bereitzustellen, holen neuere Ausführungen weniger aktuelle Ausführungen ein, die bereits über die Pipeline ausgeführt werden, und ersetzen diese. In diesem Fall wird die ältere Ausführung durch die neuere Ausführung ersetzt. Eine Ausführung kann durch eine neuere Ausführung an einem bestimmten Punkt ersetzt werden. Dies ist der Punkt zwischen den einzelnen Phasen. SUPERSEDED ist der Standard-Ausführungsmodus.

Wenn im Modus SUPERSEDED eine Ausführung darauf wartet, in eine gesperrte Phase einzutreten, wird sie möglicherweise durch eine neuere Ausführung eingeholt und ersetzt. Die neuere Ausführung wartet nun auf die Entsperrung der Phase und die ersetzte Ausführung wird mit dem Status SUPERSEDED beendet. Wenn eine Pipeline-Ausführung ersetzt wird, wird die Ausführung gestoppt und durchläuft die Pipeline nicht vollständig. Sie können die ersetzte Ausführung nicht wiederholen, nachdem sie in dieser Phase ersetzt wurde. Andere verfügbare Ausführungsmodi sind der PARALLEL- oder QUEUED-Modus.

Weitere Hinweise zu Ausführungsmodi und gesperrten Phasen finden Sie unterWie werden Ausführungen im SUPERSEDED-Modus verarbeitet.

Operationen auf der Bühne

Wenn eine Pipeline-Ausführung eine Phase durchläuft, ist die Phase dabei, alle darin enthaltenen Aktionen abzuschließen. Hinweise zur Funktionsweise von Stufenoperationen und Informationen zu gesperrten Stufen finden Sie unterWie werden Ausführungen im SUPERSEDED-Modus verarbeitet.

Gültige Status für Stufen sind InProgressStopping, StoppedSucceeded, undFailed. Sie können eine fehlgeschlagene Phase erneut versuchen, es sei denn, die fehlgeschlagene Phase kann nicht erneut versucht werden. Weitere Informationen finden Sie unter StageExecution. Sie können eine Phase auf eine angegebene vorherige erfolgreiche Ausführung zurücksetzen. Eine Phase kann so konfiguriert werden, dass sie bei einem Fehler automatisch rückgängig gemacht wird, wie unter beschriebenKonfiguration des Stage-Rollbacks. Weitere Informationen finden Sie unter RollbackStage.

Aktionsausführungen

Eine Aktionsausführung ist die Durchführung einer konfigurierten Aktion, die für bestimmteArtefakte ausgeführt wird. Dies können Eingabe-Artefakte, Ausgabe-Artefakte oder beides sein. Beispielsweise kann eine Build-Aktion Build-Befehle für ein Eingabe-Artefakt ausführen, z. B. das Anwendungsquellcode kompilieren. Die Details der Aktionsausführung umfassen die Aktionsausführungs-ID, den zugehörigen Pipeline-Ausführungsquellauslöser und die Eingabe- und Ausgabe-Artefakte der Aktion.

Gültige Status für Aktionen sindInProgress, AbandonedSucceeded, oderFailed. Weitere Informationen finden Sie unter ActionExecution.

Arten der Ausführung

Bei einer Pipeline- oder Stufenausführung kann es sich entweder um eine Standard- oder eine Rollback-Ausführung handeln.

Bei Standardtypen hat die Ausführung eine eindeutige ID und es handelt sich um einen vollständigen Pipeline-Lauf. Ein Pipeline-Rollback besteht aus einer Phase, die zurückgesetzt werden muss, und einer erfolgreichen Ausführung für die Phase als Zielausführung, zu der das Rollback durchgeführt werden soll. Die Ausführung der Zielpipeline wird verwendet, um Quellrevisionen und Variablen für die erneute Ausführung der Stufe abzurufen.

Aktionstypen

Aktionstypen sind vorkonfigurierte Aktionen, die unter ausgewählt werden können. CodePipeline Der Aktionstyp wird durch seinen Besitzer, Anbieter, Version und Kategorie definiert. Der Aktionstyp bietet benutzerdefinierte Parameter, die verwendet werden, um die Aktionsaufgaben in einer Pipeline abzuschließen.

Informationen zu den Produkten AWS-Services und Diensten von Drittanbietern, die Sie je nach Aktionstyp in Ihre Pipeline integrieren können, finden Sie unterIntegrationen mit CodePipeline Aktionstypen.

Informationen zu den Integrationsmodellen, die für Aktionstypen in unterstützt werden CodePipeline, finden Sie unterReferenz zum Integrationsmodell.

Informationen darüber, wie Drittanbieter Aktionstypen einrichten und verwalten können CodePipeline, finden Sie unterMit Aktionstypen arbeiten.

-Artefakte

Der Begriff Artefakt bezieht sich auf die Sammlung von Daten, wie Anwendungsquellcode, erstellte Anwendungen, Abhängigkeiten, Definitionsdateien, Vorlagen usw., die von Pipeline-Aktionen bearbeitet werden. Artefakte werden von bestimmten Aktionen erzeugt und von anderen Aktionen verbraucht. Artefakten in einer Pipeline können die Gruppe von Dateien sein, die von einer Aktion bearbeitet werden (Eingabe-Artefakte) oder die aktualisierte Ausgabe einer abgeschlossenen Aktion (Ausgabe-Artefakte).

Aktionen leiten die Ausgabe zur weiteren Verarbeitung mithilfe des Pipeline-Artefakt-Buckets an eine andere Aktion weiter. CodePipeline kopiert Artefakte in den Artefaktspeicher, wo sie von der Aktion abgerufen werden. Weitere Informationen zu Artefakten finden Sie unter Eingabe- und Ausgabe-Artefakte.

Quell-Revisionen

Wenn Sie eine Quellcodeänderung ausführen, wird eine neue Version erstellt. Eine Quellrevision ist eine Quelländerungsversion, die eine Pipeline-Ausführung auslöst. Bei einer Ausführung werden Quellrevisionen verarbeitet. Für Repositorys GitHub und CodeCommit Repositorys ist dies der Commit. Bei S3-Buckets oder -Aktionen ist dies die Objektversion.

Sie können eine Pipeline-Ausführung mit einer von Ihnen angegebenen Quellrevision, z. B. einem Commit, starten. Die Ausführung verarbeitet die angegebene Revision und überschreibt die Revision, die für die Ausführung verwendet worden wäre. Weitere Informationen finden Sie unter Starten Sie eine Pipeline mit einer Quellrevisionsüberschreibung.

Auslöser

Trigger sind Ereignisse, die Ihre Pipeline starten. Einige Auslöser, z. B. das manuelle Starten einer Pipeline, sind für alle Anbieter von Quellaktionen in einer Pipeline verfügbar. Bestimmte Trigger hängen vom Quellanbieter für eine Pipeline ab. CloudWatch Ereignisse müssen beispielsweise mit Eventressourcen von Amazon konfiguriert werden, für CloudWatch die der Pipeline-ARN als Ziel in der Ereignisregel hinzugefügt wurde. Amazon CloudWatch Events ist der empfohlene Auslöser für die automatische Änderungserkennung für Pipelines mit einer CodeCommit oder S3-Quellaktion. Webhooks sind eine Art von Trigger, der für Repository-Ereignisse von Drittanbietern konfiguriert ist. WebhookV2 ist beispielsweise ein Triggertyp, mit dem Git-Tags verwendet werden können, um Pipelines mit externen Quellanbietern wie GitHub Enterprise Server GitHub.com GitLab.com, GitLab Self-Managed oder Bitbucket Cloud zu starten. In der Pipeline-Konfiguration kannst du einen Filter für Trigger wie Push- oder Pull-Requests angeben. Du kannst Code-Push-Ereignisse nach Git-Tags, Branches oder Dateipfaden filtern. Du kannst Pull-Request-Ereignisse nach Ereignissen (geöffnet, aktualisiert, geschlossen), Branches oder Dateipfaden filtern.

Weitere Informationen zu Auslösern finden Sie unter Starten Sie eine Pipeline in CodePipeline. Ein Tutorial, das dich durch die Verwendung von Git-Tags als Trigger für deine Pipeline führt, findest du unterTutorial: Verwende Git-Tags, um deine Pipeline zu starten.

Wichtig

Bei Pipelines, die länger als 30 Tage inaktiv sind, ist das Polling für die Pipeline deaktiviert. Weitere Informationen finden Sie unter Polling DisabledAt in der Pipeline-Strukturreferenz. Die Schritte zur Migration Ihrer Pipeline vom Polling zur ereignisbasierten Änderungserkennung finden Sie unter Methoden zur Änderungserkennung.

Variablen

Eine Variable ist ein Wert, der verwendet werden kann, um Aktionen in Ihrer Pipeline dynamisch zu konfigurieren. Variablen können entweder auf Pipeline-Ebene deklariert oder durch Aktionen in der Pipeline ausgegeben werden. Variablenwerte werden zum Zeitpunkt der Pipeline-Ausführung aufgelöst und können im Ausführungsverlauf eingesehen werden. Für Variablen, die auf Pipeline-Ebene deklariert wurden, können Sie entweder Standardwerte in der Pipeline-Konfiguration definieren oder sie für eine bestimmte Ausführung überschreiben. Für Variablen, die von einer Aktion ausgegeben werden, ist der Wert verfügbar, nachdem eine Aktion erfolgreich abgeschlossen wurde. Weitere Informationen finden Sie unter Variablenreferenz.

Bedingungen

Eine Bedingung enthält eine Reihe von Regeln, die ausgewertet werden. Wenn alle Regeln in einer Bedingung erfolgreich sind, ist die Bedingung erfüllt. Sie können Bedingungen so konfigurieren, dass, wenn die Kriterien nicht erfüllt sind, das angegebene Ergebnis, z. B. das Nichtbestehen der Stufe, ausgelöst wird. Bedingungen werden auch als Tore bezeichnet, da Sie damit angeben können, wann eine Ausführung eine Phase betritt und durchläuft oder die Phase verlässt, nachdem sie sie durchlaufen hat. Dies ist vergleichbar damit, dass sich eine Verkehrslinie auf einer Fahrbahn an einem geschlossenen Tor versammeln kann und dann die Öffnung des Tores spezifiziert wird, um den Verkehrsfluss in ein Gebiet zu ermöglichen. Zu den Ergebnissen für Bedingungstypen gehören das Nichtbestehen der Stufe oder das Zurücksetzen der Stufe. Mithilfe von Bedingungen können Sie angeben, wann diese Aktionen in einer Pipeline-Phase stattfinden. Sie können Bedingungen zur Laufzeit überschreiben.

Es gibt drei Arten von Bedingungen. Die Teilnahmebedingungen beantworten die Frage „Wenn die Regeln für die Bedingung erfüllt sind, dann betrete die Stufe.“ Die Phase ist gesperrt, wenn die Ausführung in die Phase eintritt, und dann werden die Regeln ausgeführt. Bei den Bedingungen „Bei Ausfall“ wird die Regel aktiviert, wenn eine Phase fehlgeschlagen ist, was dazu führt, dass eine fehlgeschlagene Phase rückgängig gemacht wird. Bei den Bedingungen „Bei Erfolg“ wird die Regel aktiviert, wenn eine Phase erfolgreich ist, z. B. wenn bei einer erfolgreichen Ausführung überprüft wird, ob Alarme vorliegen, bevor der Vorgang fortgesetzt wird. Beispielsweise würde die Bedingung „Bei Erfolg“ zu einem Rollback einer erfolgreichen Phase führen, wenn die CloudWatchAlarm Regel feststellt, dass in der Bereitstellungsumgebung Alarme vorliegen. Weitere Informationen finden Sie unter Wie funktionieren die Bühnenbedingungen?.

Regeln

Bedingungen verwenden eine oder mehrere vorkonfigurierte Regeln, die ausgeführt und Prüfungen durchgeführt werden. Das konfigurierte Ergebnis wird dann verwendet, wenn die Bedingung nicht erfüllt ist. Wenn Sie beispielsweise alle Regeln für eine Regel für eine Eingangsbedingung erfüllen, die den Alarmstatus und die Zeitfenster für die Bereitstellung überprüft, wird eine erfolgreiche Phase ausgelöst, nachdem alle Prüfungen bestanden wurden. Weitere Informationen finden Sie unter Wie funktionieren die Bühnenbedingungen?.