AWS CodeCommit ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS CodeCommit können den Service weiterhin wie gewohnt nutzen. Erfahren Sie mehr“
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.
Beispiel: Einen AWS CodeCommit Trigger für ein SNS Amazon-Thema erstellen
Sie können einen Trigger für ein CodeCommit Repository erstellen, sodass Ereignisse in diesem Repository Benachrichtigungen von einem Amazon Simple Notification Service (AmazonSNS) -Thema auslösen. Möglicherweise möchten Sie einen Auslöser für ein SNS Amazon-Thema erstellen, damit Benutzer Benachrichtigungen über Repository-Ereignisse wie das Löschen von Branches abonnieren können. Sie können auch die Integration von SNS Amazon-Themen mit anderen Diensten wie Amazon Simple Queue Service (AmazonSQS) und nutzen AWS Lambda.
Anmerkung
Sie müssen den Auslöser auf ein vorhandenes SNS Amazon-Thema verweisen, bei dem es sich um die Aktion handelt, die als Reaktion auf Repository-Ereignisse ergriffen wurde. Weitere Informationen zum Erstellen und Abonnieren von SNS Amazon-Themen finden Sie unter Erste Schritte mit Amazon Simple Notification Service.
Amazon-Themen SNS FIFO (first in, first out) werden für CodeCommit Auslöser nicht unterstützt.
Themen
Einen Auslöser für ein SNS Amazon-Thema für ein CodeCommit Repository erstellen (Konsole)
Öffnen Sie die CodeCommit Konsole unter https://console.aws.amazon.com/codesuite/codecommit/home
. -
Wählen Sie unter Repositories (Repositorys) das Repository aus, in dem Sie Auslöser für Repository-Ereignisse erstellen möchten.
-
Wählen Sie im Navigationsbereich für das Repository Settings (Einstellungen) und anschließend Triggers (Auslöser).
-
Wählen Sie Create trigger (Auslöser erstellen) aus und gehen Sie folgendermaßen vor:
-
Geben Sie im Feld Triggername einen Namen für den Trigger ein (z. B.).
MyFirstTrigger
-
Wählen Sie unter Ereignisse die Repository-Ereignisse aus, die das SNS Amazon-Thema zum Senden von Benachrichtigungen veranlassen.
Wenn Sie All repository events wählen, können Sie keine anderen Ereignisse auswählen. Wenn Sie nur einen Teil der Ereignisse auswählen möchten, löschen Sie All repository events und wählen Sie dann die gewünschten Ereignisse in der Liste aus. Wenn der Auslöser beispielsweise nur ausgeführt werden soll, wenn ein Benutzer in dem CodeCommit-Repository ein Tag oder einen Branch erstellt, entfernen Sie All repository events (Alle Repository-Ereignisse) und wählen Sie anschließend Create branch or tag (Verzweigung oder Tag erstellen) aus.
-
Wenn Sie möchten, dass der Auslöser für alle Branches des Repositorys unter Branches gilt, lassen Sie die Auswahl leer, da diese Standardoption den Auslöser automatisch auf alle Branches anwendet. Wenn Sie möchten, dass dieser Auslöser nur für bestimmte Branches gilt, wählen Sie bis zu 10 Branch-Namen aus der Liste der Repository-Branches aus.
-
Wählen Sie unter Wählen Sie den zu verwendenden Service die Option Amazon ausSNS.
-
Wählen Sie in Amazon SNS einen Themennamen aus der Liste aus oder geben Sie den ARN für das Thema ein.
Anmerkung
Amazon-Themen SNS FIFO (first in, first out) werden für CodeCommit Auslöser nicht unterstützt. Sie müssen ein SNS Amazon-Thema auswählen, dessen Typ auf Standard gesetzt ist.
-
Geben Sie unter Benutzerdefinierte Daten alle optionalen Informationen ein, die Sie in der vom SNS Amazon-Thema gesendeten Benachrichtigung enthalten möchten (z. B. einen IRC Kanalnamen, den Entwickler verwenden, wenn sie über Entwicklungen in diesem Repository sprechen). Dies ist ein Zeichenfolgenfeld. Es kann nicht zur Übergabe dynamischer Parameter verwendet werden.
-
-
(Optional) Wählen Sie Test trigger (Auslöser testen). Mit diesem Schritt können Sie überprüfen, ob der Zugriff zwischen CodeCommit und dem SNS Amazon-Thema korrekt konfiguriert wurde. Es verwendet das SNS Amazon-Thema, um eine Testbenachrichtigung mit Daten aus Ihrem Repository zu senden, sofern verfügbar. Falls keine echten Daten verfügbar sind, enthält die Testbenachrichtigung Beispieldaten.
-
Wählen Sie Create trigger (Auslöser erstellen), um die Erstellung des Auslösers abzuschließen.
Einen Auslöser für ein SNS Amazon-Thema für ein CodeCommit Repository erstellen (AWS CLI)
Sie können auch die Befehlszeile verwenden, um einen Trigger für ein SNS Amazon-Thema als Reaktion auf CodeCommit Repository-Ereignisse zu erstellen, z. B. wenn jemand einen Commit in Ihr Repository überträgt.
Um einen Auslöser für ein SNS Amazon-Thema zu erstellen
-
Öffnen Sie einen Klartext-Editor und erstellen Sie eine JSON Datei, die Folgendes spezifiziert:
-
Der Name des SNS Amazon-Themas.
Anmerkung
Amazon-Themen SNS FIFO (first in, first out) werden für CodeCommit Auslöser nicht unterstützt. Sie müssen ein SNS Amazon-Thema auswählen, dessen Typ auf Standard gesetzt ist.
-
Repository und Branches, die mit diesem Auslöser überwacht werden sollen. (Wenn keine Branches angegeben werden, gilt der Auslöser für alle Branches im Repository.)
-
Ereignisse, die diesen Auslöser aktivieren.
Speichern Sie die Datei.
Um beispielsweise einen Trigger für ein Repository mit dem Namen zu erstellen
MyDemoRepo
, der alle Repository-Ereignisse in einem SNS Amazon-Thema veröffentlicht, dasMySNSTopic
nach zwei Branches benannt ist,main
undpreprod
:{ "repositoryName": "
MyDemoRepo
", "triggers": [ { "name": "MyFirstTrigger
", "destinationArn": "arn:aws:sns:us-east-2
:111122223333
:MySNSTopic
", "customData": "", "branches": [ "main
", "preprod
" ], "events": [ "all" ] } ] }JSONFür jeden Trigger eines Repositorys muss ein Triggerblock enthalten sein. Um mehr als einen Trigger für das Repository zu erstellen, fügen Sie mehr als einen Triggerblock in den einJSON. Beachten Sie, dass alle in dieser Datei erstellten Auslöser für das angegebene Repository gelten. Sie können keine Trigger für mehrere Repositorys in einer einzigen JSON Datei erstellen. Wenn Sie beispielsweise zwei Trigger für ein Repository erstellen möchten, können Sie eine JSON Datei mit zwei Triggerblöcken erstellen. Im folgenden Beispiel werden für den zweiten Auslöser keine Branches angegeben, daher gilt dieser Auslöser für alle Branches:
{ "repositoryName": "
MyDemoRepo
", "triggers": [ { "name": "MyFirstTrigger
", "destinationArn": "arn:aws:sns:us-east-2
:111122223333
:MySNSTopic
", "customData": "", "branches": [ "main
", "preprod
" ], "events": [ "all" ] }, { "name": "MySecondTrigger
", "destinationArn": "arn:aws:sns:us-east-2
:111122223333
:MySNSTopic2
", "customData": "", "branches": [], "events": [ "updateReference", "deleteReference" ] } ] }Sie können Auslöser für bestimmte Ereignisse erstellen, z. B. wenn ein Commit per Push an ein Repository übertragen wird. Zu den Ereignistypen zählen:
-
all
für alle Ereignisse im angegebenen Repository und den angegebenen Branches -
updateReference
für Fälle, in denen Commits per Push an das angegebene Repository und die angegebenen Branches übertragen werden -
createReference
für Fälle, in denen in dem angegebenen Repository ein neuer Branch oder ein neues Tag erstellt wird -
deleteReference
für Fälle, in denen in dem angegebenen Repository ein Branch oder ein Tag gelöscht wird
Anmerkung
Sie können in einem Auslöser mehrere Ereignistypen verwenden. Wenn Sie
all
angeben, können Sie allerdings keine anderen Ereignisse angeben.Geben Sie im Terminal oder in der Eingabeaufforderung aws codecommit put-repository-triggers help ein, um eine vollständige Liste der gültigen Ereignistypen anzuzeigen.
Darüber hinaus können Sie eine Zeichenfolge hinzufügen
customData
(z. B. einen IRC Kanalnamen, den Entwickler verwenden, wenn sie über die Entwicklung in diesem Repository sprechen). Dies ist ein Zeichenfolgenfeld. Es kann nicht zur Übergabe dynamischer Parameter verwendet werden. Diese Zeichenfolge wird als Attribut an die als Antwort auf den Trigger CodeCommit JSON zurückgegebene Zeichenfolge angehängt. -
(Optional) Führen Sie an einem Terminal oder an einer Eingabeaufforderung den Befehl test-repository-triggers aus. Dieser Test verwendet Beispieldaten aus dem Repository (oder generiert Beispieldaten, falls keine Daten verfügbar sind), um eine Benachrichtigung an die Abonnenten des SNS Amazon-Themas zu senden. Mit dem Folgenden wird beispielsweise getestet, ob die JSON in der Trigger-Datei angegebene Datei gültig
trigger.json
ist und dass sie im SNS Amazon-Thema veröffentlicht werden CodeCommit kann:aws codecommit test-repository-triggers --cli-input-json file://
trigger.json
Bei erfolgreicher Ausführung gibt dieser Befehl etwa wie folgt aussehende Informationen zurück:
{ "successfulExecutions": [ "
MyFirstTrigger
" ], "failedExecutions": [] }-
Führen Sie in einem Terminal oder einer Eingabeaufforderung den Befehl put-repository-triggers aus, um den Auslöser in CodeCommit zu erstellen. Um zum Beispiel eine JSON Datei mit dem Namen zu verwenden
trigger.json
, um den Trigger zu erstellen:aws codecommit put-repository-triggers --cli-input-json file://
trigger.json
Die vom Befehl zurückgegebene Konfigurations-ID sollte wie folgt aussehen:
{ "configurationId": "
0123456-I-AM-AN-EXAMPLE
" } -
Führen Sie zum Anzeigen der Konfiguration des Auslösers den Befehl get-repository-triggers aus und geben Sie dabei den Namen des Repositorys an:
aws codecommit get-repository-triggers --repository-name
MyDemoRepo
Dieser Befehl gibt die Struktur aller Auslöser zurück, die für das Repository konfiguriert sind, ähnlich folgendem Beispiel:
{ "configurationId": "
0123456-I-AM-AN-EXAMPLE
", "triggers": [ { "events": [ "all" ], "destinationArn": "arn:aws:sns:us-east-2
:111122223333
:MySNSTopic
", "branches": [ "main
", "preprod
" ], "name": "MyFirstTrigger
", "customData": "Project ID 12345" } ] } -
Erstellen Sie einen Commit und übertragen Sie ihn per Push an das Repository, für das Sie den Auslöser konfiguriert haben, um die Funktion des Auslösers zu prüfen. Sie sollten eine Antwort vom SNS Amazon-Thema sehen. Wenn Sie beispielsweise das SNS Amazon-Thema so konfiguriert haben, dass es eine E-Mail sendet, sollte SNS in dem E-Mail-Konto, das das Thema abonniert hat, eine E-Mail von Amazon angezeigt werden.
Im Folgenden finden Sie ein Beispiel für die Ausgabe einer E-Mail, die von Amazon SNS als Antwort auf einen Push an ein CodeCommit Repository gesendet wurde:
{ "Records":[ { "awsRegion":"us-east-2", "codecommit":{ "references" : [ { "commit":"
317f8570EXAMPLE
", "created":true, "ref":"refs/heads/NewBranch
" }, { "commit":"4c925148EXAMPLE
", "ref":"refs/heads/preprod
", } ] }, "eventId":"11111-EXAMPLE-ID
", "eventName":"ReferenceChange", "eventPartNumber":1, "eventSource":"aws:codecommit", "eventSourceARN":"arn:aws:codecommit:us-east-2:111122223333
:MyDemoRepo
", "eventTime":"2016-02-09T00:08:11.743+0000", "eventTotalParts":1, "eventTriggerConfigId":"0123456-I-AM-AN-EXAMPLE
", "eventTriggerName":"MyFirstTrigger
", "eventVersion":"1.0", "customData":"Project ID 12345", "userIdentityARN":"arn:aws:iam::111122223333
:user/JaneDoe-CodeCommit
", } ] }