CodeCommit Quellaktionsreferenz - AWS CodePipeline

View a markdown version of this page

CodeCommit Quellaktionsreferenz - 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.

CodeCommit Quellaktionsreferenz

Startet die Pipeline, wenn ein neuer Commit für das konfigurierte CodeCommit Repository und den Branch erfolgt.

Wenn Sie die Pipeline mithilfe der Konsole erstellen oder bearbeiten, CodePipeline wird eine EventBridge Regel erstellt, die Ihre Pipeline startet, wenn eine Änderung im Repository erfolgt.

Anmerkung

Für Amazon ECR, Amazon S3 oder CodeCommit Quellen können Sie auch eine Quellüberschreibung mithilfe eines Eingabe-Transformationseintrags erstellen, um das revisionValue In EventBridge für Ihr Pipeline-Ereignis zu verwenden, wobei das von der Quellereignisvariablen für Ihren Objektschlüssel, Ihren Commit oder Ihre Bild-ID abgeleitet revisionValue wird. Weitere Informationen finden Sie in dem optionalen Schritt für die Eingabe der Eingabetransformation, der in den Verfahren unter Amazon ECR-Quellaktionen und Ressourcen EventBridgeHerstellen einer Verbindung zu Amazon S3-Quellaktionen mit einer für Ereignisse aktivierten Quelle, oder CodeCommit Quellaktionen und EventBridge enthalten ist.

Sie müssen bereits ein CodeCommit Repository erstellt haben, bevor Sie die Pipeline über eine CodeCommit Aktion verbinden.

Nachdem eine Codeänderung erkannt wurde, haben Sie die folgenden Optionen, um den Code an nachfolgende Aktionen zu übergeben:

  • Standard — Konfiguriert die CodeCommit Quellaktion so, dass eine ZIP-Datei mit einer flachen Kopie Ihres Commits ausgegeben wird.

  • Vollständiger Klon — Konfiguriert die Quellaktion so, dass für nachfolgende Aktionen eine Git-URL-Referenz auf das Repository ausgegeben wird.

    Derzeit kann die Git-URL-Referenz nur von CodeBuild Downstream-Aktionen verwendet werden, um das Repo und die zugehörigen Git-Metadaten zu klonen. Der Versuch, eine Git-URL-Referenz an CodeBuild Nicht-Aktionen zu übergeben, führt zu einem Fehler.

Aktionstyp

  • Kategorie: Source

  • Eigentümer: AWS

  • Anbieter: CodeCommit

  • Version: 1

Konfigurationsparameter

RepositoryName

Erforderlich: Ja

Der Name des Repositorys, in dem Quelländerungen erkannt werden sollen.

BranchName

Erforderlich: Ja

Der Name des Zweigs, in dem Quelländerungen erkannt werden sollen.

PollForSourceChanges

Erforderlich: Nein

PollForSourceChangessteuert, ob das CodeCommit Repository nach Quelländerungen CodePipeline abgefragt wird. Wir empfehlen, stattdessen CloudWatch Ereignisse zu verwenden, um Änderungen an der Quelle zu erkennen. Weitere Informationen zur Konfiguration von CloudWatch Ereignissen finden Sie unter Migrieren Sie Polling-Pipelines (CodeCommit Quelle) (CLI) oderMigrieren Sie Polling-Pipelines (CodeCommit Quelle) (CloudFormation Vorlage).

Wichtig

Wenn Sie beabsichtigen, eine CloudWatch Ereignisregel zu konfigurieren, müssen Sie sie PollForSourceChanges auf festlegen, false um doppelte Pipelineausführungen zu vermeiden.

Gültige Werte für diesen Parameter sind:

  • true: Falls gesetzt, CodePipeline fragt dein Repository nach Änderungen an der Quelle ab.

    Anmerkung

    Wenn du es auslässtPollForSourceChanges, wird dein Projektarchiv CodePipeline standardmäßig nach Änderungen an der Quelle abgefragt. Dieses Verhalten ist das gleiche, als ob PollForSourceChanges enthalten wäre und auf true festgelegt würde.

  • false: Wenn gesetzt, fragt dein Projektarchiv CodePipeline nicht nach Änderungen an der Quelle ab. Verwende diese Einstellung, wenn du beabsichtigst, eine CloudWatch Event-Regel zu konfigurieren, um Änderungen an der Quelle zu erkennen.

OutputArtifactFormat

Erforderlich: Nein

Das Ausgabe-Artefaktformat. Werte können entweder CODEBUILD_CLONE_REF oder CODE_ZIP sein. Wenn dieser Parameter nicht angegeben wird, lautet der Standardwert CODE_ZIP.

Wichtig

Die CODEBUILD_CLONE_REF-Option kann nur von CodeBuild nachgeschalteten Aktionen verwendet werden.

Wenn Sie diese Option wählen, müssen Sie die codecommit:GitPull Berechtigung zu Ihrer CodeBuild Servicerolle hinzufügen, wie unter gezeigtFügen Sie CodeBuild GitClone Berechtigungen für CodeCommit Quellaktionen hinzu. Sie müssen die codecommit:GetRepository Berechtigung auch Ihrer CodePipeline Servicerolle hinzufügen, wie unter gezeigtFügen Sie der CodePipeline Servicerolle Berechtigungen hinzu. Ein Tutorial, das Ihnen zeigt, wie Sie die Option „Vollständiger Klon“ verwenden, finden Sie unterTutorial: Vollständigen Klon mit einer CodeCommit Pipeline-Quelle verwenden.

Input artifacts (Eingabeartefakte)

  • Anzahl der Artefakte: 0

  • Beschreibung: Eingabe-Artefakte sind für diesen Aktionstyp nicht gültig.

Ausgabeartefakte

  • Anzahl der Artefakte: 1

  • Beschreibung: Das Ausgabe-Artefakt dieser Aktion ist eine ZIP-Datei, die den Inhalt des konfigurierten Repositorys und Zweigs beim Commit enthält, der als Quellrevision für die Pipeline-Ausführung angegeben wurde. Die aus dem Repository generierten Artefakte sind die Ausgabeartefakte für die CodeCommit Aktion. Die Commit-ID des Quellcodes wird CodePipeline als Quellversion für die ausgelöste Pipeline-Ausführung angezeigt.

Ausgabevariablen

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.

Weitere Informationen finden Sie unter Variablenreferenz.

CommitId

Die CodeCommit Commit-ID, die die Pipeline-Ausführung ausgelöst hat. Commit-IDs sind der vollständige SHA des Commits.

CommitMessage

Die Beschreibungsmeldung (wenn vorhanden), die dem Commit zugeordnet ist, der die Pipeline-Ausführung ausgelöst hat.

RepositoryName

Der Name des CodeCommit Repositorys, in dem der Commit vorgenommen wurde, der die Pipeline ausgelöst hat.

BranchName

Der Name des Branches für das CodeCommit Repository, in dem die Quelländerung vorgenommen wurde.

AuthorDate

Das Datum im Zeitstempelformat, an dem der Commit erstellt wurde.

CommitterDate

Das Datum im Zeitstempelformat, an dem der Commit durchgeführt wurde.

Berechtigungen für Servicerollen: CodeCommit Aktion

Wenn die Aktion CodePipeline ausgeführt wird, erfordert die CodePipeline Servicerollenrichtlinie die folgenden Berechtigungen, die entsprechend auf den ARN der Pipeline-Ressource beschränkt sind, um den Zugriff mit den geringsten Rechten aufrechtzuerhalten. Fügen Sie Ihrer Richtlinienerklärung beispielsweise Folgendes hinzu:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:CancelUploadArchive", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "codecommit:GetUploadArchiveStatus", "codecommit:UploadArchive" ], "Resource": [ "arn:aws:codecommit:*:111122223333:[[codecommitRepostories]]" ] } ] }

Beispielaktionskonfiguration

Beispiel für das Standardformat für Ausgabeartefakte

YAML
name: Source actionTypeId: category: Source owner: AWS provider: CodeCommit version: '1' runOrder: 1 configuration: BranchName: main PollForSourceChanges: 'false' RepositoryName: MyWebsite outputArtifacts: - name: Artifact_MyWebsiteStack inputArtifacts: [] region: us-west-2 namespace: SourceVariables
JSON
{ "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "provider": "CodeCommit", "version": "1" }, "runOrder": 1, "configuration": { "BranchName": "main", "PollForSourceChanges": "false", "RepositoryName": "MyWebsite" }, "outputArtifacts": [ { "name": "Artifact_MyWebsiteStack" } ], "inputArtifacts": [], "region": "us-west-2", "namespace": "SourceVariables" }

Beispiel für ein vollständiges Clone-Ausgabeartefaktformat

YAML
name: Source actionTypeId: category: Source owner: AWS provider: CodeCommit version: '1' runOrder: 1 configuration: BranchName: main OutputArtifactFormat: CODEBUILD_CLONE_REF PollForSourceChanges: 'false' RepositoryName: MyWebsite outputArtifacts: - name: SourceArtifact inputArtifacts: [] region: us-west-2 namespace: SourceVariables
JSON
{ "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "provider": "CodeCommit", "version": "1" }, "runOrder": 1, "configuration": { "BranchName": "main", "OutputArtifactFormat": "CODEBUILD_CLONE_REF", "PollForSourceChanges": "false", "RepositoryName": "MyWebsite" }, "outputArtifacts": [ { "name": "SourceArtifact" } ], "inputArtifacts": [], "region": "us-west-2", "namespace": "SourceVariables" }

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.

  • Tutorial: Eine einfache Pipeline (CodeCommit Repository) erstellen— Dieses Tutorial enthält eine AppSpec Beispieldatei sowie eine CodeDeploy Beispielanwendung und eine Bereitstellungsgruppe. Verwenden Sie dieses Tutorial, um eine Pipeline mit einer CodeCommit Quelle zu erstellen, die auf Amazon EC2-Instances bereitgestellt wird.