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)

Setzen Sie das folgende Verfahren ein, um eine Pipeline zu erstellen, die zum Aufbau Ihres Quellcodes CodeBuild verwendet.

Um dieAWS CLI zu verwenden, um eine Pipeline zu erstellen, die Ihren erstellten Quellcode bereitstellt oder die nur Ihren Quellcode testet, können Sie die Anweisungen unter Pipeline bearbeiten (AWS CLI) und die CodePipelinePipeline-Strukturreferenz im AWS CodePipelineBenutzerhandbuch anpassen.

  1. Erstellen oder Ermitteln eines Build-Projekts in CodeBuild. Weitere Informationen finden Sie unter Erstellen eines Build-Projekts.

    Wichtig

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

  2. Stellen Sie sicher, dass Sie denAWS CLI mit demAWS Zugriffsschlüssel und demAWS 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 JSON-formatiere Datei, die die Struktur der Pipeline darstellt. Benennen Sie die Datei create-pipeline.json oder ähnlich. So erstellt diese JSON-formatierte Struktur beispielsweise eine Pipeline mit einer Quellaktion, die sich auf ein S3-Eingabe-Bucket und eine Build-Aktion bezieht, die CodeBuild verwendet:

    { "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 dem ARN der CodePipeline-Servicerolle entsprechen, die Sie als Teil der Voraussetzungen erstellt oder ermittelt haben.

    • Die Werte von S3Bucket und S3ObjectKey in configuration gehen davon aus, dass der Quellcode in einem S3-Bucket gespeichert ist. Informationen zu den Einstellungen für andere Repository-Typen von Quellcodes erhalten Sie unter Referenz der CodePipeline-Pipeline-Struktur im AWS CodePipeline-Benutzerhandbuch.

    • Der Wert von ProjectName ist der Name des von Ihnen zu einem früheren Zeitpunkt erstellten CodeBuild-Build-Projekts.

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

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

    Auch wenn diese Daten ausschließlich eine Quellaktion und eine Build-Aktion beschreiben, können Sie Aktionen für Aktivitäten in Bezug auf das Testen, Bereitstellen des Build-Ausgabeartefakts, Weiterleiten von AWS Lambda-Funktionen und viele weitere ergänzen. 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-Befehl create-pipeline unter Angabe des Dateinamens aus:

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

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

    Die Daten im JSON-Format werden in der Ausgabe angezeigt und CodePipeline erstellt die Pipeline.

  5. Um Informationen über den Status der Pipeline zu erhalten, führen Sie den CodePipeline Befehl get-pipeline-state unter Angabe des Namens der Pipeline aus:

    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-Konsole unter https://console.aws.amazon.com/s3/.

    Anmerkung

    Sie können das Build-Ausgabeartefakt auch unter dem Link Build artifacts auf der dazugehörigen Build-Detailseite in der CodeBuild-Konsole abrufen. 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 von der Datei create-pipeline.json abrufen oder den CodePipeline get-pipeline-Befehl zum Abruf des Bucket-Namens ausführen.

    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. (Sie müssen die Datei möglicherweise mit der Erweiterung .zip versehen, damit Sie vom ZIP-Dienstprogramm Ihres Systems unterstützt wird.) Das Build-Ausgabeartefakt ist in den extrahierten Inhalten der Datei vorhanden.