Erstellen einer Pipeline unter Verwendung von CodeBuild (AWS CLI) - AWS CodeBuild

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.

Erstellen einer Pipeline unter Verwendung von CodeBuild (AWS CLI)

Gehen Sie wie folgt vor, um eine Pipeline zu erstellen, die CodeBuild zum Erstellen Ihres Quellcodes verwendet wird.

Um mit der eine Pipeline AWS CLI zu erstellen, die Ihren erstellten Quellcode bereitstellt oder nur Ihren Quellcode testet, können Sie die Anweisungen unter Eine Pipeline bearbeiten (AWS CLI) und die CodePipelinePipeline-Strukturreferenz im AWS CodePipeline Benutzerhandbuch anpassen.

  1. Erstellen oder identifizieren Sie ein Build-Projekt in CodeBuild. Weitere Informationen finden Sie unter Erstellen eines Build-Projekts.

    Wichtig

    Das Build-Projekt muss die Einstellungen für das Build-Ausgabeartefakt definieren (auch wenn sie diese CodePipeline überschreibt). Weitere Informationen finden Sie in der Beschreibung von artifacts in Erstellen eines Build-Projekts (AWS CLI).

  2. Stellen Sie sicher, dass Sie den AWS CLI mit dem AWS Zugriffsschlüssel und dem AWS geheimen Zugriffsschlüssel konfiguriert haben, die einer der in diesem Thema beschriebenen IAM Entitäten entsprechen. Weitere Informationen finden Sie unter Einrichtung der AWS Command Line Interface im AWS Command Line Interface -Benutzerhandbuch.

  3. Erstellen Sie eine Datei im JSON -Format, die die Struktur der Pipeline darstellt. Benennen Sie die Datei create-pipeline.json oder ähnlich. Diese JSON -formatierte Struktur erstellt beispielsweise eine Pipeline mit einer Quellaktion, die auf einen S3-Eingabe-Bucket verweist, und einer Build-Aktion, die Folgendes verwendet: CodeBuild

    { "pipeline": { "roleArn": "arn:aws:iam::<account-id>:role/<AWS-CodePipeline-service-role-name>", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "<bucket-name>", "S3ObjectKey": "<source-code-file-name.zip>" }, "runOrder": 1 } ] }, { "name": "Build", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Build", "actionTypeId": { "category": "Build", "owner": "AWS", "version": "1", "provider": "CodeBuild" }, "outputArtifacts": [ { "name": "default" } ], "configuration": { "ProjectName": "<build-project-name>" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "<CodePipeline-internal-bucket-name>" }, "name": "<my-pipeline-name>", "version": 1 } }

    In diesen JSON -formatierten Daten:

    • Der Wert von roleArn muss mit dem Wert ARN der CodePipeline Servicerolle übereinstimmen, die Sie im Rahmen der Voraussetzungen erstellt oder identifiziert haben.

    • Die Werte von S3Bucket und S3ObjectKey in configuration gehen davon aus, dass der Quellcode in einem S3-Bucket gespeichert ist. Einstellungen für andere Quellcode-Repository-Typen finden Sie in der CodePipeline Pipeline-Strukturreferenz im AWS CodePipeline Benutzerhandbuch.

    • Der Wert von ProjectName ist der Name des CodeBuild Build-Projekts, das Sie zuvor in diesem Verfahren erstellt haben.

    • Der Wert von location ist der Name des S3-Buckets, der von dieser Pipeline verwendet wird. Weitere Informationen finden Sie im AWS CodePipeline Benutzerhandbuch unter Erstellen einer Richtlinie für einen S3-Bucket, der als Artefaktspeicher verwendet werden soll. CodePipeline

    • Der Wert von name ist der Name dieser Pipeline. Alle Pipeline-Namen müssen in Ihrem Konto eindeutig sein.

    Obwohl diese Daten nur eine Quellaktion und eine Build-Aktion beschreiben, können Sie Aktionen für Aktivitäten hinzufügen, die sich auf Tests, die Bereitstellung des Build-Ausgabeartefakts, das Aufrufen von AWS Lambda Funktionen und mehr beziehen. Weitere Informationen finden Sie unter der Referenz der AWS CodePipeline -Pipeline-Struktur im AWS CodePipeline -Benutzerhandbuch.

  4. Wechseln Sie zu dem Ordner, der die JSON Datei enthält, und führen Sie dann den CodePipeline create-pipeline Befehl aus, wobei Sie den Dateinamen angeben:

    aws codepipeline create-pipeline --cli-input-json file://create-pipeline.json
    Anmerkung

    Sie müssen die Pipeline in einer AWS Region erstellen, in der sie unterstützt CodeBuild wird. Weitere Informationen finden Sie unter AWS CodeBuild im Allgemeine Amazon Web Services-Referenz.

    Die JSON -formatierten Daten werden in der Ausgabe angezeigt und erstellen die CodePipeline Pipeline.

  5. Um Informationen über den Status der Pipeline zu erhalten, führen Sie den CodePipeline get-pipeline-state Befehl aus und geben Sie den Namen der Pipeline an:

    aws codepipeline get-pipeline-state --name <my-pipeline-name>

    Suchen Sie in der Ausgabe nach Informationen, die bestätigen, dass der Build erfolgreich war. Auslassungspunkte (...) werden verwendet, um zu zeigen, dass stehen für Daten zur Abkürzung ausgelassen wurden.

    { ... "stageStates": [ ... { "actionStates": [ { "actionName": "CodeBuild", "latestExecution": { "status": "SUCCEEDED", ... }, ... } ] } ] }

    Wenn Sie diesen Befehl zu früh ausführen, bekommen Sie die Informationen über die Build-Aktion möglichweise nicht angezeigt. Sie müssen diesen Befehl möglicherweise mehrere Male ausführen, bis die Pipeline die Ausführung der Build-Aktion abgeschlossen hat.

  6. Befolgen Sie nach einem erfolgreichen Build die Anweisungen, um den Build-Ausgabeartefakt abzurufen. Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

    Anmerkung

    Sie können das Build-Ausgabeartefakt auch abrufen, indem Sie auf der entsprechenden Seite mit den Build-Details in der CodeBuild Konsole auf den Link Build artefacts klicken. Lassen Sie die restlichen Schritte in diesem Verfahren aus, um zu dieser Seite zu gelangen, und sehen Sie sich diese unter Anzeigen von Build-Details (Konsole) an.

  7. Öffnen Sie in der Liste der Buckets auf den von der Pipeline verwendeten Bucket. Der Name des Buckets sollte das Format codepipeline-<region-ID>-<random-number> aufweisen. Sie können den Bucket-Namen aus der create-pipeline.json Datei abrufen oder den CodePipeline get-pipeline Befehl ausführen, um den Namen des Buckets abzurufen.

    aws codepipeline get-pipeline --name <pipeline-name>

    In der Ausgabe enthalt das Objekt pipeline ein Objekt mit Namen artifactStore, das einen Wert location mit dem Namen des Buckets enthält.

  8. Öffnen Sie den Ordner, der dem Namen Ihrer Pipeline entspricht (z. B. <pipeline-name>).

  9. Öffnen Sie in diesem Ordner den Ordner mit Namen default.

  10. Extrahieren Sie den Inhalt der Datei . Wenn in diesem Ordner mehrere Dateien enthalten sind, extrahieren Sie die Inhalte der Datei mit dem neuesten Zeitstempel Last Modified. (Möglicherweise müssen Sie der Datei eine .zip Erweiterung geben, damit Sie im ZIP Hilfsprogramm Ihres Systems damit arbeiten können.) Das Build-Ausgabeartefakt ist in den extrahierten Inhalten der Datei vorhanden.