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 Ereignisse überwachen
Sie können CodePipeline Ereignisse in überwachen EventBridge, wodurch ein Stream von Echtzeitdaten aus Ihren eigenen Anwendungen, software-as-a-service (SaaS-) Anwendungen und bereitgestellt wird AWS-Services. EventBridge leitet diese Daten an Ziele wie AWS Lambda Amazon Simple Notification Service weiter. Diese Ereignisse sind identisch mit denen, die in Amazon CloudWatch Events erscheinen. Amazon Events liefert einen Stream von Systemereignissen, die Änderungen an AWS Ressourcen beschreiben, nahezu in Echtzeit. Weitere Informationen finden Sie unter Was ist Amazon EventBridge? im EventBridge Amazon-Benutzerhandbuch.
Anmerkung
Amazon EventBridge ist die bevorzugte Methode, um Ihre Veranstaltungen zu verwalten. Amazon CloudWatch Events und EventBridge sind derselbe zugrunde liegende Service und dieselbe API, EventBridge bieten aber mehr Funktionen. Änderungen, die Sie entweder in CloudWatch Events oder vornehmen EventBridge , werden in jeder Konsole angezeigt.
Ereignisse bestehen aus Regeln. Eine Regel wird konfiguriert, indem Sie Folgendes wählen:
-
Ereignismuster. Jede Regel wird als ein Ereignismuster mit der Quelle und Art der zu überwachenden Ereignisse sowie den Ereigniszielen ausgedrückt. Um Ereignisse zu überwachen, erstellen Sie eine Regel mit dem Dienst, den Sie überwachen, als Ereignisquelle, z. CodePipeline B. Sie können beispielsweise eine Regel mit einem Ereignismuster erstellen, das CodePipeline als Ereignisquelle verwendet wird, um die Regel auszulösen, wenn sich der Status einer Pipeline, Phase oder Aktion ändert.
-
Ziele. Die neue Regel erhält einen ausgewählten Service als Ereignisziel. Möglicherweise möchten Sie einen Zieldienst einrichten, um Benachrichtigungen zu senden, Statusinformationen zu erfassen, Korrekturmaßnahmen zu ergreifen, Ereignisse einzuleiten oder andere Aktionen zu ergreifen. Wenn Sie Ihr Ziel hinzufügen, müssen Sie ihm auch Berechtigungen erteilen, EventBridge damit es den ausgewählten Zieldienst aufrufen kann.
Alle Arten von Änderungsereignissen in Bezug auf den Ausführungszustand geben Benachrichtigungen mit spezifischen Nachrichteninhalten aus. Dabei gilt Folgendes:
-
Der erste
version
Eintrag zeigt die Versionsnummer für das Ereignis. -
Der
version
-Eintrag unter Pipeline-detail
zeigt die Versionsnummer der Pipelinestruktur. -
Der
execution-id
-Eintrag unter Pipeline-detail
zeigt die Ausführungs-ID für die Pipelineausführung, die die Statusänderung verursacht hat. Weitere Informationen zum GetPipelineExecution API-Aufruf finden Sie in der AWS CodePipeline API-Referenz. -
Der
pipeline-execution-attempt
Eintrag zeigt die Anzahl der Versuche oder Wiederholungen für die spezifische Ausführungs-ID.
CodePipeline meldet EventBridge jedes Mal, wenn sich der Status einer Ressource in Ihrem System AWS-Konto ändert, ein Ereignis. Ereignisse werden auf garantierter at-least-once Basis für die folgenden Ressourcen ausgelöst:
-
Pipeline-Ausführungen
-
Hinrichtungen in Etappen
-
Aktionsausführungen
Ereignisse werden EventBridge mit dem oben beschriebenen Ereignismuster und Schema ausgegeben. Für verarbeitete Ereignisse, z. B. Ereignisse, die Sie über Benachrichtigungen erhalten, die Sie in der Developer Tools-Konsole konfiguriert haben, enthält die Ereignisnachricht Felder für das Ereignismuster mit einigen Variationen. Das detail-type
Feld wird beispielsweise konvertiert indetailType
. Weitere Informationen finden Sie unter dem PutEvents API-Aufruf in der Amazon EventBridge API-Referenz.
Die folgenden Beispiele zeigen Ereignisse für CodePipeline. Wo möglich, zeigt jedes Beispiel das Schema für ein ausgelöstes Ereignis zusammen mit dem Schema für ein verarbeitetes Ereignis.
Themen
Detailtypen
Wenn Sie Ereignisse für die Überwachung einrichten, können Sie den Detailtyp für das Ereignis auswählen.
Sie können konfigurieren, dass Benachrichtigungen gesendet werden, wenn sich der Status für Folgendes ändert:
-
Angegebene Pipelines oder alle Pipelines. Dies wird über
"detail-type":
"CodePipeline Pipeline Execution State Change"
gesteuert. -
Angegebene Stufen oder alle Stufen innerhalb einer bestimmten Pipeline oder all Ihrer Pipelines. Dies wird über
"detail-type":
"CodePipeline Stage Execution State Change"
gesteuert. -
Angegebene Aktionen oder alle Aktionen in einer bestimmten Stufe oder allen Stufen innerhalb einer bestimmten Pipeline oder allen Ihren Pipelines. Dies wird über
"detail-type":
"CodePipeline Action Execution State Change"
gesteuert.
Anmerkung
Ereignisse, die von ausgegeben werden, EventBridge enthalten den detail-type
Parameter, der detailType
bei der Verarbeitung von Ereignissen in diesen Wert umgewandelt wird.
Typ des Details | Status | Beschreibung |
---|---|---|
CodePipeline Änderung des Status der Pipeline-Ausführung | CANCELED | Die Pipelineausführung wurde abgebrochen, da die Pipelinestruktur aktualisiert wurde. |
FEHLGESCHLAGEN | Die Pipelineausführung wurde nicht erfolgreich abgeschlossen. | |
RESUMED | Eine fehlgeschlagene Pipelineausführung wurde als Reaktion auf den API-Aufruf RetryStageExecution erneut ausgeführt. |
|
STARTED | Die Pipelineausführung wird derzeit ausgeführt. | |
STOPPED | Der Anhaltevorgang ist abgeschlossen, und die Pipeline-Ausführung wird angehalten. | |
STOPPING | Die Pipeline-Ausführung wird aufgrund einer Anforderung mit "Anhalten und beenden" oder "Anhalten und warten" angehalten. | |
SUCCEEDED | Die Pipelineausführung wurde erfolgreich abgeschlossen. | |
SUPERSEDED |
Während auf den Abschluss der nächsten Stufe dieser Pipelineausführung gewartet wurde, wurde stattdessen eine neuere Pipelineausführung über die Pipeline fortgesetzt. |
|
CodePipeline Änderung des Ausführungsstatus der Phase | CANCELED | Die Stufe wurde abgebrochen, da die Pipelinestruktur aktualisiert wurde. |
FEHLGESCHLAGEN | Die Stufe wurde nicht erfolgreich abgeschlossen. | |
RESUMED | Eine fehlgeschlagene Stufe wurde als Reaktion auf den API-Aufruf RetryStageExecution erneut ausgeführt. |
|
STARTED | Die Stufe wird derzeit ausgeführt. | |
STOPPED | Der Anhaltevorgang ist abgeschlossen, und die Phasenausführung wird angehalten. | |
STOPPING | Die Ausführung der Phase wird aufgrund einer Anforderung zum Anhalten und Warten oder zum Anhalten und Beenden der Pipeline-Ausführung gestoppt. | |
SUCCEEDED | Die Stufe wurde erfolgreich abgeschlossen. | |
CodePipeline Änderung des Ausführungsstatus der Aktion | VERLASSEN | Die Aktion wird aufgrund einer Anforderung mit "Anhalten und Beenden" für die Pipeline-Ausführung beendet. |
CANCELED | Die Aktion wurde abgebrochen, da die Pipelinestruktur aktualisiert wurde. | |
FEHLGESCHLAGEN | Bei Genehmigungsaktionen bedeutet der Status FAILED (FEHLGESCHLAGEN), dass die Aktion entweder vom Prüfer abgelehnt wurde oder aufgrund einer falschen Aktionskonfiguration fehlgeschlagen ist. | |
STARTED | Die Aktion wird derzeit ausgeführt. | |
SUCCEEDED | Die Aktion wurde erfolgreich abgeschlossen. |
Ereignisse auf Pipeline-Ebene
Ereignisse auf Pipeline-Ebene werden ausgelöst, wenn sich der Status einer Pipeline-Ausführung ändert.
Themen
Ereignis „Pipeline STARTED“
Wenn eine Pipeline-Ausführung gestartet wird, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die Pipeline, die "myPipeline"
in der us-east-1
Region benannt ist. Das id
Feld steht für die Ereignis-ID und das account
Feld für die Konto-ID, unter der die Pipeline erstellt wurde.
Ereignis zum STOPPEN DER Pipeline
Wenn die Ausführung einer Pipeline angehalten wird, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die Pipeline, die myPipeline
in der us-west-2
Region benannt ist.
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Pipeline Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-24T22:02:20Z", "region": "us-west-2", "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "start-time": "2023-10-26T13:49:39.208Z", "state": "STOPPING", "version": 3.0, "pipeline-execution-attempt": 1.0 "stop-execution-comments": "Stopping the pipeline for an update" } }
Ereignis Pipeline SUCCEED
Wenn eine Pipeline-Ausführung erfolgreich ist, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die Pipeline, die myPipeline
in der us-east-1
Region benannt ist.
Pipeline ERFOLGREICH (Beispiel mit Git-Tags)
Wenn eine Pipeline-Ausführung in einer Phase wiederholt und erfolgreich versucht wurde, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die Pipeline, die myPipeline
in der eu-central-1
Region benannt execution-trigger
ist, in der die für Git-Tags konfiguriert ist.
Anmerkung
Das execution-trigger
Feld enthält entweder tag-name
oderbranch-name
, je nachdem, welche Art von Ereignis die Pipeline ausgelöst hat.
{ "version": "0", "id": "b128b002-09fd-4574-4eba-27152726c777", "detail-type": "CodePipeline Pipeline Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2023-10-26T13:50:53Z", "region": "eu-central-1", "resources": [ "arn:aws:codepipeline:eu-central-1:123456789012:BuildFromTag" ], "detail": { "pipeline": "BuildFromTag", "execution-id": "e17b5773-cc0d-4db2-9ad7-594c73888de8", "start-time": "2023-10-26T13:49:39.208Z", "execution-trigger": { "author-display-name": "Mary Major", "full-repository-name": "mmajor/sample-project", "provider-type": "GitLab", "author-email": "email_address", "commit-message": "Update file README.md", "author-date": "2023-08-16T21:08:08Z", "tag-name": "gitlab-v4.2.1", "commit-id": "
commit_ID
", "connection-arn": "arn:aws:codestar-connections:eu-central-1:123456789012:connection/0f5b706a-1a1d-46c5-86b6-f177321bcfb2", "author-id": "Mary Major" }, "state": "SUCCEEDED", "version": 32.0, "pipeline-execution-attempt": 1.0 } }
Ereignis Pipeline FAILED
Wenn die Ausführung einer Pipeline fehlschlägt, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die Pipeline, die "myPipeline"
in der us-west-2
Region benannt ist.
Pipeline FEHLGESCHLAGEN (Beispiel mit Git-Tags)
Sofern sie nicht in der Quellphase fehlschlägt, gibt sie bei einer Pipeline, die mit Triggern konfiguriert ist, ein Ereignis aus, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die Pipeline, die myPipeline
in der eu-central-1
Region benannt execution-trigger
ist, in der die für Git-Tags konfiguriert ist.
Anmerkung
Das execution-trigger
Feld enthält entweder tag-name
oderbranch-name
, je nachdem, welche Art von Ereignis die Pipeline ausgelöst hat.
Ereignisse auf Phasenebene
Ereignisse auf Phasenebene werden ausgelöst, wenn sich der Status einer Stufenausführung ändert.
Themen
Ereignis „Phase STARTED“
Wenn die Ausführung einer Phase beginnt, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die Pipeline, die "myPipeline"
in der us-east-1
Region benannt ist, für die PhaseProd
.
Ereignis STAGE STOPPING
Wenn die Ausführung einer Phase angehalten wird, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die Pipeline, die myPipeline
in der us-west-2
Region benannt ist, für die PhaseDeploy
.
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Stage Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-24T22:02:20Z", "region": "us-west-2", "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "start-time": "2023-10-26T13:49:39.208Z", "stage": "Deploy", "state": "STOPPING", "version": 3.0, "pipeline-execution-attempt": 1.0 } }
Ereignis „Phase STOPPED“
Wenn die Ausführung einer Phase gestoppt wird, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die Pipeline, die myPipeline
in der us-west-2
Region benannt ist, für die PhaseDeploy
.
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Stage Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-31T18:21:39Z", "region": "us-west-2", "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "start-time": "2023-10-26T13:49:39.208Z", "stage": "Deploy", "state": "STOPPED", "version": 3.0, "pipeline-execution-attempt": 1.0 } }
Die Phase wurde nach dem Wiederholungsereignis der Phase FORTGESETZT
Wenn die Ausführung einer Phase wieder aufgenommen wird und eine Phase erneut versucht wurde, wird ein Ereignis ausgelöst, das Benachrichtigungen mit folgendem Inhalt sendet.
Wenn eine Phase erneut versucht wurde, wird das stage-last-retry-attempt-time
Feld angezeigt, wie im Beispiel gezeigt. Das Feld wird bei allen Etappenereignissen angezeigt, ob ein Wiederholungsversuch durchgeführt wurde.
Anmerkung
Das stage-last-retry-attempt-time
Feld wird in allen nachfolgenden Etappenereignissen vorhanden sein, nachdem eine Phase erneut versucht wurde.
{ "version": "0", "id": "38656bcd-a798-5f92-c738-02a71be484e1", "detail-type": "CodePipeline Stage Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2023-10-26T14:14:56Z", "region": "eu-central-1", "resources": [ "arn:aws:codepipeline:eu-central-1:123456789012:BuildFromTag" ], "detail": { "pipeline": "BuildFromTag", "execution-id": "05dafb6a-5a56-4951-a858-968795364846", "stage-last-retry-attempt-time": "2023-10-26T14:14:56.305Z", "stage": "Build", "state": "RESUMED", "version": 32.0, "pipeline-execution-attempt": 2.0 } }
Ereignisse auf Aktionsebene
Ereignisse auf Aktionsebene werden ausgelöst, wenn sich der Status einer Aktionsausführung ändert.
Themen
Ereignis „Aktion GESTARTET“
Wenn die Ausführung einer Aktion gestartet wird, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die myPipeline
in der us-east-1
Region angegebene Pipeline für die BereitstellungsaktionmyAction
.
Aktion war erfolgreich (Ereignis)
Wenn eine Aktion erfolgreich ausgeführt wird, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die "myPipeline"
in der us-west-2
Region angegebene Pipeline und auf die Quellaktion. "Source"
Für diesen Ereignistyp gibt es zwei verschiedene region
Felder. Das region
Ereignisfeld gibt die Region für das Pipeline-Ereignis an. Das region
Feld unter dem detail
Abschnitt gibt die Region für die Aktion an.
Ereignis Aktion FEHLGESCHLAGEN
Wenn die Ausführung einer Aktion fehlschlägt, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die "myPipeline"
in der us-west-2
Region angegebene Pipeline für die Aktion"Deploy"
.
Aktion ABGEBROCHENES Ereignis
Wenn die Ausführung einer Aktion abgebrochen wird, wird ein Ereignis ausgelöst, das Benachrichtigungen mit dem folgenden Inhalt sendet. Dieses Beispiel bezieht sich auf die "myPipeline"
in der us-west-2
Region angegebene Pipeline für die Aktion"Deploy"
.
{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodePipeline Action Execution State Change", "source": "aws.codepipeline", "account": "123456789012", "time": "2020-01-31T18:21:39Z", "region": "us-west-2", "resources": [ "arn:aws:codepipeline:us-west-2:123456789012:myPipeline" ], "detail": { "pipeline": "myPipeline", "execution-id": "12345678-1234-5678-abcd-12345678abcd", "stage": "Deploy", "action-execution-id": "47f821c5-a902-44b2-ae61-b878d31ecd21", "action": "Deploy", "state": "ABANDONED", "region": "us-west-2", "type": { "owner": "AWS", "provider": "CodeDeploy", "category": "Deploy", "version": "1" }, "version": 3.0, "pipeline-execution-attempt": 1.0 } }
Erstellen Sie eine Regel, die bei einem Pipeline-Ereignis eine Benachrichtigung sendet
Eine Regel überwacht bestimmte Ereignisse und leitet sie dann an von Ihnen gewählte AWS Ziele weiter. Sie können eine Regel erstellen, die eine AWS Aktion automatisch ausführt, wenn eine andere AWS Aktion stattfindet, oder eine Regel, die eine AWS Aktion regelmäßig nach einem festgelegten Zeitplan ausführt.
Themen
Eine Benachrichtigung senden, wenn sich der Pipeline-Status ändert (Konsole)
Diese Schritte zeigen, wie Sie mit der EventBridge Konsole eine Regel zum Senden von Benachrichtigungen über Änderungen in erstellen CodePipeline.
Um eine EventBridge Regel zu erstellen, die auf Ihre Pipeline mit einer Amazon S3 S3-Quelle abzielt
Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/
. -
Wählen Sie im Navigationsbereich Regeln aus. Lassen Sie den Standardbus ausgewählt oder wählen Sie einen Event-Bus. Wählen Sie Regel erstellen aus.
-
Geben Sie im Feld Name einen Namen für Ihre Regel ein.
-
Wählen Sie unter Regeltyp die Option Regel mit einem Ereignismuster aus. Wählen Sie Weiter.
-
Wählen Sie unter Ereignismuster die Option AWS Dienste aus.
-
Wählen Sie in der Dropdown-Liste Event Type die Ebene der Statusänderung für die Benachrichtigung aus.
-
Wählen Sie für eine Regel, die für Ereignisse auf Pipeline-Ebene gilt, die Option CodePipelinePipeline Execution State Change aus.
-
Wählen Sie für eine Regel, die für Ereignisse auf Phasenebene gilt, die Option CodePipelineStage Execution State Change aus.
-
Wählen Sie für eine Regel, die für Ereignisse auf Aktionsebene gilt, die Option Änderung des Ausführungsstatus der CodePipelineAktion aus.
-
-
Geben Sie die Änderungen an, für die die Regel gilt:
-
Wählen Sie für eine Regel, die für alle Statusänderungen gilt, Any state aus.
-
Wählen Sie für eine Regel, die nur für einige Statusänderungen gilt, Specific state(s) und dann einen oder mehrere Statuswerte aus der Liste aus.
-
-
Bei Ereignismustern, die detaillierter sind, als es die Selektoren zulassen, können Sie auch die Option Muster bearbeiten im Fenster Ereignismuster verwenden, um ein Ereignismuster im JSON-Format festzulegen.
Anmerkung
Wenn nicht anders angegeben, wird das Ereignismuster für alle Staaten pipelines/stages/actions und Zustände erstellt.
Für detailliertere Ereignismuster können Sie die folgenden Beispiel-Eventmuster kopieren und in das Fenster Ereignismuster einfügen.
-
Verwenden Sie dieses Beispiel-Ereignismuster, um fehlgeschlagene Bereitstellungs- und Erstellungsaktionen in allen Pipelines zu erfassen.
{ "source": [ "aws.codepipeline" ], "detail-type": [ "CodePipeline Action Execution State Change" ], "detail": { "state": [ "FAILED" ], "type": { "category": ["Deploy", "Build"] } } }
-
Verwenden Sie dieses Beispiel-Ereignismuster, um alle abgelehnten oder fehlgeschlagenen Genehmigungsaktionen in allen Pipelines zu erfassen.
{ "source": [ "aws.codepipeline" ], "detail-type": [ "CodePipeline Action Execution State Change" ], "detail": { "state": [ "FAILED" ], "type": { "category": ["Approval"] } } }
-
Verwenden Sie diese Beispiel-Ereignismuster, um alle Ereignisse in den angegebenen Pipelines zu erfassen.
{ "source": [ "aws.codepipeline" ], "detail-type": [ "CodePipeline Pipeline Execution State Change", "CodePipeline Action Execution State Change", "CodePipeline Stage Execution State Change" ], "detail": { "pipeline": ["myPipeline", "my2ndPipeline"] } }
-
-
Wählen Sie Weiter.
-
Wählen Sie unter Zieltypen die Option AWS Service aus.
-
Wählen Sie unter Ziel auswählen die Option aus CodePipeline. Geben Sie im Feld Pipeline-ARN den Pipeline-ARN für die Pipeline ein, die mit dieser Regel gestartet werden soll.
Anmerkung
Um den Pipeline-ARN zu erhalten, führen Sie den Befehl get-pipeline aus. Der Pipeline-ARN wird in der Ausgabe angezeigt. Er wird in folgendem Format erstellt:
arn:aws:codepipeline:::
region
account
pipeline-name
Pipeline-Beispiel-ARN:
arn:aws:codepipeline:us-east- 2:80398 BEISPIEL: MyFirstPipeline
-
So erstellen oder spezifizieren Sie eine IAM-Dienstrolle, die EventBridge Berechtigungen zum Aufrufen des mit Ihrer Regel verknüpften Ziels gewährt (in diesem Fall lautet das Ziel): EventBridge CodePipeline
-
Wählen Sie Neue Rolle für diese spezifische Ressource erstellen aus, um eine Servicerolle zu erstellen, die Ihnen EventBridge Berechtigungen für den Start Ihrer Pipeline-Ausführung erteilt.
-
Wählen Sie Bestehende Rolle verwenden aus, um eine Servicerolle einzugeben, die Ihnen EventBridge Berechtigungen für den Start Ihrer Pipeline-Ausführungen erteilt.
-
-
Wählen Sie Weiter.
-
Wählen Sie auf der Seite „Tags“ die Option Weiter aus.
-
Überprüfen Sie auf der Seite Überprüfen und erstellen die Regelkonfiguration. Wenn Sie mit der Regel zufrieden sind, klicken Sie auf Create rule (Regel erstellen).
Eine Benachrichtigung senden, wenn sich der Pipeline-Status ändert (CLI)
Diese Schritte zeigen, wie Sie mit der CLI eine CloudWatch Ereignisregel erstellen, um Benachrichtigungen über Änderungen zu senden CodePipeline.
Um die zum Erstellen einer Regel AWS CLI zu verwenden, rufen Sie den put-rule Befehl auf und geben Sie Folgendes an:
-
Einen Namen, der die von Ihnen erstellte Regel eindeutig bezeichnet. Dieser Name muss für alle Pipelines, die Sie erstellen und die mit Ihrem AWS Konto CodePipeline verknüpft sind, eindeutig sein.
-
Das Ereignismuster für die Quelle und von der Regel verwendete Detailfelder. Weitere Informationen finden Sie unter Amazon EventBridge und Event Patterns.
Um eine EventBridge Regel mit CodePipeline als Ereignisquelle zu erstellen
-
Rufen Sie den Befehl put-rule auf, um eine Regel zu erstellen, die das Ereignismuster angibt. (Gültige Status finden Sie in den vorherigen Tabellen.)
Mit dem folgenden Beispielbefehl wird eine Regel namens erstellt
“MyPipelineStateChanges”
, die das CloudWatch Ereignis ausgibt, wenn eine Pipelineausführung für die Pipeline mit dem Namen „MyPipeline“ fehlschlägt. --event-patternaws events put-rule --name "MyPipelineStateChanges" --event-pattern "{\"source\":[\"aws.codepipeline\"],\"detail-type\":[\"CodePipeline Pipeline Execution State Change\"],\"detail\":{\"pipeline\":[\"myPipeline\"],\"state\":[\"FAILED\"]}}"
-
Rufen Sie den put-targets Befehl auf und geben Sie die folgenden Parameter an:
-
Der Parameter
--rule
wird für denrule_name
verwendet, den Sie mit put-rule erstellt haben. -
Der
--targets
Parameter wird mit der ListeId
des Ziels in der Liste der Ziele und der ListeARN
des Amazon SNS SNS-Themas verwendet.
Der folgende Beispielbefehl legt fest, dass für die Regel mit dem Namen
MyPipelineStateChanges
die Ziel-Id
aus der Nummer 1 besteht. Dies bedeutet, dass in einer Liste mit Zielen für die Regel dieses Ziel 1 ist. Der Beispielbefehl gibt auch ein BeispielARN
für das Amazon SNS SNS-Thema an.aws events put-targets --rule MyPipelineStateChanges --targets Id=1,Arn=arn:aws:sns:us-west-2:11111EXAMPLE:MyNotificationTopic
-
-
Fügen Sie Berechtigungen hinzu EventBridge , um den angegebenen Zieldienst zum Aufrufen der Benachrichtigung zu verwenden. Weitere Informationen finden Sie unter Verwenden ressourcenbasierter Richtlinien für Amazon. EventBridge