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.
Referenz zu Abbild-Definitionsdateien
Dieser Abschnitt dient nur als Referenz. Informationen zum Erstellen einer Pipeline mit Quell- oder Bereitstellungsaktionen für Container finden Sie unter Erstellen Sie eine Pipeline, Stufen und Aktionen.
AWS CodePipeline Jobworker für Containeraktionen, wie z. B. eine Amazon ECR-Quellaktion oder Amazon ECS-Bereitstellungsaktionen, verwenden Definitionsdateien, um den Bild-URI und den Container-Namen der Aufgabendefinition zuzuordnen. Jede Definitionsdatei ist eine JSON-formatted Datei, die vom Aktionsanbieter wie folgt verwendet wird:
-
Amazon ECS-Standardbereitstellungen erfordern eine
imagedefinitions.jsonDatei als Eingabe für die Bereitstellungsaktion. Ein Tutorial, das die Amazon ECS-Standardbereitstellungsaktion in verwendet CodePipeline, finden Sie unterTutorial: Amazon ECS-Standardbereitstellung mit CodePipeline. Ein weiteres Beispiel-Tutorial, das die Amazon ECS-Standardbereitstellungsaktion CodePipeline zusammen mit der ECRBuildAndPublish Aktion verwendet, finden Sie unterTutorial: Erstellen Sie ein Docker-Image und übertragen Sie es auf Amazon ECR mit CodePipeline (Typ V2). -
Amazon blue/green ECS-Bereitstellungen benötigen eine
imageDetail.jsonDatei als Eingabe für die Bereitstellungsaktion. Ein Tutorial mit einer blue/green Beispielbereitstellung finden Sie unterTutorial: Erstellen Sie eine Pipeline mit einer Amazon ECR-Quelle und Bereitstellung ECS-to-CodeDeploy.-
Amazon ECR-Quellaktionen generieren eine
imageDetail.json-Datei, die als Ausgabe aus der Quellaktion bereitgestellt wird.
-
Themen
imagedefinitions.json-Datei für Amazon ECS-Standardbereitstellungsaktionen
Ein Image-Definitionsdokument ist eine JSON-Datei, die den Namen Ihres Amazon ECS-Containers sowie das Bild und den Tag beschreibt. Wenn Sie containerbasierte Anwendungen bereitstellen, müssen Sie eine Image-Definitionsdatei generieren, um dem CodePipeline Jobworker den Amazon ECS-Container und die Bildidentifikation zur Verfügung zu stellen, die er aus dem Image-Repository abrufen kann, z. B. Amazon ECR.
Anmerkung
Der Standarddateiname für die Datei ist imagedefinitions.json. Wenn Sie einen anderen Dateinamen verwenden, müssen Sie diesen bereitstellen, wenn Sie die Pipeline-Bereitstellungsphase erstellen.
Erstellen Sie die Datei imagedefinitions.json, wobei Sie Folgendes berücksichtigen:
-
Die Datei muss kodiert sein. UTF-8
-
Die maximale Dateigröße für die Abbild-Definitionsdatei ist 100 KB.
-
Sie müssen die Datei als Quell- oder Build-Artefakt erstellen, damit sie ein Eingabeartefakt für die Bereitstellungsaktion ist. Mit anderen Worten, stellen Sie sicher, dass die Datei entweder an Ihren Quellspeicherort, wie z. B. Ihr CodeCommit Repository, hochgeladen oder als eingebautes Ausgabeartefakt generiert wird.
Die Datei imagedefinitions.json stellt den Containernamen und den Abbild-URI bereit. Dieser muss mit dem folgenden Satz von Schlüssel-Wert-Paaren konstruiert werden.
| Key (Schlüssel) | Value (Wert) |
|---|---|
| Name | container_name |
| imageUri | imageUri |
Anmerkung
Das Namensfeld wird für den Namen des Container-Images verwendet, was den Namen für das Docker-Image bedeutet.
Dies ist die JSON-Struktur, wobei der Containername sample-app, der Abbild-URI ecs-repo und der Tag latest ist:
[ { "name": "sample-app", "imageUri": "11111EXAMPLE.dkr.ecr.us-west-2.amazonaws.com/ecs-repo:latest" } ]
Sie können die Datei auch so konstruieren, dass mehrere Container-Abbild-Paare aufgelistet werden.
JSON-Struktur:
[ { "name": "simple-app", "imageUri": "httpd:2.4" }, { "name": "simple-app-1", "imageUri": "mysql" }, { "name": "simple-app-2", "imageUri": "java1.8" } ]
Führen Sie vor Erstellung Ihrer Pipeline die die folgenden Schritte aus, um die imagedefinitions.json einzurichten.
-
Planen Sie während der Planung der Bereitstellung Container-basierter Anwendungen für Ihre Pipeline die Quell- und die Build-Phase, sofern vorhanden.
-
Wählen Sie eine der folgenden Optionen:
-
Wenn Ihre Pipeline so erstellt wurde, dass die Build-Phase übersprungen wird, müssen Sie die JSON-Datei manuell erstellen und in Ihr Quell-Repository hochladen, damit die Quellaktion das Artefakt bereitstellen kann. Erstellen Sie die Datei mit einem Texteditor und geben Sie der Datei einen Namen oder verwenden Sie den Standarddateinamen
imagedefinitions.json. Verschieben Sie die Abbild-Definitionsdatei in Ihr Quell-Repository.Anmerkung
Wenn es sich bei Ihrem Quell-Repository um einen Amazon S3-Bucket handelt, denken Sie daran, die JSON-Datei zu komprimieren.
-
Wenn Ihre Pipeline über eine Build-Phase verfügt, fügen Sie Ihrer Buildspec-Datei einen Befehl hinzu, der die Image-Definitionsdatei während der Build-Phase in Ihrem Quell-Repository ausgibt. Im folgenden Beispiel wird der Befehl printf verwendet, um eine
imagedefinitions.json-Datei zu erstellen. Listen Sie diesen Befehl im Abschnittpost_buildder Dateibuildspec.ymlauf:printf '[{"name":"container_name","imageUri":"image_URI"}]' > imagedefinitions.jsonSie müssen die Abbild-Definitionsdatei als Ausgabeartefakt in die Datei
buildspec.ymleinfügen.
-
-
Wenn Sie Ihre Pipeline in der Konsole erstellen, geben Sie auf der Seite Deploy (Bereitstellen) des Assistenten Create Pipeline (Pipeline erstellen) in Image Filename (Name der Abbilddatei) den Namen der Abbild-Definitionsdatei ein.
Eine schrittweise Anleitung zum Erstellen einer Pipeline, die Amazon ECS als Bereitstellungsanbieter verwendet, finden Sie unter Tutorial: Continuous Deployment with. CodePipeline
Detail.json Image-Datei für Amazon blue/green ECS-Bereitstellungsaktionen
Ein imageDetail.json Dokument ist eine JSON-Datei, die Ihre Amazon ECS-Image-URI beschreibt. Wenn Sie containerbasierte Anwendungen für eine blue/green Bereitstellung bereitstellen, müssen Sie die imageDetail.json Datei generieren, um Amazon ECS und dem CodeDeploy Job-Worker die Bildidentifikation zur Verfügung zu stellen, die sie aus dem Image-Repository abrufen müssen, z. B. Amazon ECR.
Anmerkung
Der Name der Datei muss imageDetail.json sein.
Eine Beschreibung der Aktion und ihrer Parameter finden Sie unter. Amazon Elastic Container Service und Referenz für Bereitstellungsaktionen in CodeDeploy Blaugrün
Sie müssen die Datei imageDetail.json als Quell- oder Build-Artefakt erstellen, damit sie ein Eingabeartefakt für die Bereitstellungsaktion ist. Sie können eine dieser Methoden verwenden, um die imageDetail.json-Datei in der Pipeline bereitzustellen:
-
Fügen Sie die
imageDetail.jsonDatei in Ihren Quellspeicherort ein, sodass sie in der Pipeline als Eingabe für Ihre Amazon blue/green ECS-Bereitstellungsaktion bereitgestellt wird.Anmerkung
Wenn Ihr Quell-Repository ein Amazon S3-Bucket ist, denken Sie daran, die JSON-Datei zu komprimieren.
-
Amazon ECR-Quellaktionen generieren automatisch eine
imageDetail.jsonDatei als Eingabeartefakt für die nächste Aktion.Anmerkung
Da die Amazon ECR-Quellaktion diese Datei erstellt, müssen Pipelines mit einer Amazon ECR-Quellaktion keine Datei manuell bereitstellen.
imageDetail.jsonEin Tutorial zum Erstellen einer Pipeline, die eine Amazon ECR-Quellstufe umfasst, finden Sie unter. Tutorial: Erstellen Sie eine Pipeline mit einer Amazon ECR-Quelle und Bereitstellung ECS-to-CodeDeploy
Die imageDetail.json-Datei stellt den Abbild-URI bereit. Er muss mit dem Schlüssel-Wert-Paar konstruiert werden.
| Key (Schlüssel) | Value (Wert) |
|---|---|
| ImageURI | image_URI |
Führen Sie vor Erstellung Ihrer Pipeline die die folgenden Schritte aus, um die imageDetail.json einzurichten.
-
Planen Sie im Rahmen der Planung der containerbasierten blue/green Anwendungsbereitstellung für Ihre Pipeline gegebenenfalls die Quellphase und die Buildphase.
-
Wählen Sie eine der folgenden Optionen:
-
Wenn Ihre Pipeline die Build-Phase übersprungen hat, müssen Sie die JSON-Datei manuell erstellen und in Ihr Quell-Repository hochladen, z. B. CodeCommit damit die Quellaktion das Artefakt bereitstellen kann. Erstellen Sie die Datei mit einem Texteditor und geben Sie der Datei einen Namen oder verwenden Sie den Standarddateinamen
imageDetail.json. Übertragen Sie dieimageDetail.json-Datei per Push zu Ihrem Quell-Repository. -
Wenn Ihre Pipeline eine Build-Phase enthält, führen Sie die folgenden Aktionen aus:
-
Fügen Sie Ihrer Buildspec-Datei einen Befehl hinzu, der die Image-Definitionsdatei während der Build-Phase in Ihrem Quell-Repository ausgibt. Im folgenden Beispiel wird der Befehl printf verwendet, um eine
imageDetail.json-Datei zu erstellen. Listen Sie diesen Befehl im Abschnittpost_buildder Datei buildspec.yml auf:printf '{"ImageURI":"image_URI"}' > imageDetail.jsonSie müssen die Datei
imageDetail.jsonals Ausgabeartefakt in die Dateibuildspec.ymleinfügen. -
Fügen Sie die Datei
imageDetail.jsonals Artefakt zur Dateibuildspec.ymlhinzu.artifacts: files: - imageDetail.json
-
-