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.
-
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). -
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.
-
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
undS3ObjectKey
inconfiguration
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.
-
-
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.
-
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.
-
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.
-
Öffnen Sie in der Liste der Buckets auf den von der Pipeline verwendeten Bucket. Der Name des Buckets sollte das Format
codepipeline-
aufweisen. Sie können den Bucket-Namen aus der<region-ID>
-<random-number>
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 NamenartifactStore
, das einen Wertlocation
mit dem Namen des Buckets enthält. -
Öffnen Sie den Ordner, der dem Namen Ihrer Pipeline entspricht (z. B.
).<pipeline-name>
-
Öffnen Sie in diesem Ordner den Ordner mit Namen
default
. -
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.