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 für Amazon Elastic Container Service und CodeDeploy blaugrüne Bereitstellungsaktionen
Sie können eine Pipeline konfigurieren AWS CodePipeline , in der Containeranwendungen mithilfe einer blauen/grünen Bereitstellung bereitgestellt werden. In einer blauen/grünen Bereitstellung können Sie neben der alten Version auch eine neue Version Ihrer Anwendung starten und die neue Version testen, bevor Sie den Datenverkehr dorthin umleiten. Sie können auch den Bereitstellungsprozess überwachen und bei Problemen schnell ein Rollback durchführen.
Die abgeschlossene Pipeline erkennt Änderungen an Ihren Images oder Ihrer Aufgabendefinitionsdatei und verwendet CodeDeploy sie, um den Datenverkehr an einen ECS Amazon-Cluster und einen Load Balancer weiterzuleiten und bereitzustellen. CodeDeploy erstellt einen neuen Listener auf Ihrem Load Balancer, der Ihre neue Aufgabe über einen speziellen Port ansprechen kann. Sie können die Pipeline auch so konfigurieren, dass sie einen Quellspeicherort verwendet, z. B. ein CodeCommit Repository, in dem Ihre ECS Amazon-Aufgabendefinition gespeichert ist.
Bevor Sie Ihre Pipeline erstellen, müssen Sie bereits die ECS Amazon-Ressourcen, die CodeDeploy Ressourcen sowie den Load Balancer und die Zielgruppe erstellt haben. Sie müssen das Bild bereits markiert und in Ihrem Image-Repository gespeichert und die Aufgabendefinition und die Datei in Ihr AppSpec Datei-Repository hochgeladen haben.
Anmerkung
In diesem Thema wird die Bereitstellungsaktion Amazon ECS to CodeDeploy Blue/Green für CodePipeline beschrieben. Referenzinformationen zu den ECS standardmäßigen Bereitstellungsaktionen von Amazon finden Sie unterReferenz zur Bereitstellungsaktion von Amazon Elastic Container Service. CodePipeline
Themen
Aktionstyp
-
Kategorie:
Deploy
-
Eigentümer:
AWS
-
Anbieter:
CodeDeployToECS
-
Version:
1
Konfigurationsparameter
- ApplicationName
-
Erforderlich: Ja
Der Name der Anwendung in CodeDeploy. Bevor Sie Ihre Pipeline erstellen, müssen Sie die Anwendung bereits in erstellt haben CodeDeploy.
- DeploymentGroupName
-
Erforderlich: Ja
Die für ECS Amazon-Aufgabensätze angegebene Bereitstellungsgruppe, die Sie für Ihre CodeDeploy Anwendung erstellt haben. Bevor Sie Ihre Pipeline erstellen, müssen Sie die Bereitstellungsgruppe bereits in erstellt haben CodeDeploy.
- TaskDefinitionTemplateArtifact
-
Erforderlich: Ja
Der Name des Eingabeartefakts, das die Aufgabendefinitionsdatei für die Bereitstellungsaktion bereitstellt. Dies ist im Allgemeinen der Name des Ausgabeartefakts aus der Quellaktion. Wenn Sie die Konsole verwenden, lautet der Standardname für das Ausgabeartefakt der Quellaktion.
SourceArtifact
- AppSpecTemplateArtifact
-
Erforderlich: Ja
Der Name des Eingabeartefakts, das die AppSpec Datei für die Bereitstellungsaktion bereitstellt. Dieser Wert wird aktualisiert, wenn Ihre Pipeline ausgeführt wird. Dies ist im Allgemeinen der Name des Ausgabeartefakts aus der Quellaktion. Wenn Sie die Konsole verwenden, lautet der Standardname für das Ausgabeartefakt der Quellaktion.
SourceArtifact
Für TaskDefinition AppSpec Dateien können Sie den <TASK_DEFINITION> Platzhaltertext wie hier gezeigt beibehalten. - AppSpecTemplatePath
-
Erforderlich: Nein
Der Dateiname der Datei, die am AppSpec Speicherort der Pipeline-Quelldatei gespeichert ist, z. B. das CodeCommit Repository Ihrer Pipeline. Der Standarddateiname ist
appspec.yaml
. Wenn Ihre AppSpec Datei denselben Namen hat und auf der Stammebene in Ihrem Datei-Repository gespeichert ist, müssen Sie den Dateinamen nicht angeben. Wenn der Pfad nicht der Standardpfad ist, geben Sie den Pfad und den Dateinamen ein. - TaskDefinitionTemplatePath
-
Erforderlich: Nein
Der Dateiname der Aufgabendefinition, die im Quellverzeichnis der Pipeline-Datei gespeichert ist, z. B. im CodeCommit Repository Ihrer Pipeline. Der Standarddateiname ist
taskdef.json
. Wenn Ihre Aufgabendefinitionsdatei denselben Namen hat und auf der Stammebene in Ihrem Datei-Repository gespeichert ist, müssen Sie den Dateinamen nicht angeben. Wenn der Pfad nicht der Standardpfad ist, geben Sie den Pfad und den Dateinamen ein. - Bild <Number>ArtifactName
-
Erforderlich: Nein
Der Name des Eingabeartefakts, das das Bild für die Bereitstellungsaktion bereitstellt. Dies ist im Allgemeinen das Ausgabeartefakt des Bild-Repositorys, z. B. die Ausgabe der ECR Amazon-Quellaktion.
Verfügbare Werte für
<Number>
sind 1 bis 4. - Bild <Number>ContainerName
-
Erforderlich: Nein
Der Name des Bilds, das im Bild-Repository verfügbar ist, z. B. im ECR Amazon-Quell-Repository.
Verfügbare Werte für
<Number>
sind 1 bis 4.
Input artifacts (Eingabeartefakte)
-
Anzahl der Artefakte:
1 to 5
-
Beschreibung: Die
CodeDeployToECS
Aktion sucht zuerst nach der Aufgabendefinitionsdatei und der AppSpec Datei im Quelldatei-Repository, danach nach dem Bild im Image-Repository, generiert dann dynamisch eine neue Version der Aufgabendefinition und führt schließlich die AppSpec Befehle aus, um den Tasksatz und den Container im Cluster bereitzustellen.Die
CodeDeployToECS
Aktion sucht nach einerimageDetail.json
Datei, die das Bild dem Bild URI zuordnet. Wenn Sie eine Änderung an Ihrem ECR Amazon-Image-Repository festschreiben, erstellt die ECR Pipeline-Quellaktion eineimageDetail.json
Datei für diesen Commit. Sie können auch manuell eineimageDetail.json
Datei für eine Pipeline hinzufügen, bei der die Aktion nicht automatisiert ist. Informationen zurimageDetail.json
-Datei finden Sie unter imageDetail.json-Datei für Amazon ECS Blue/Green-Bereitstellungsaktionen.Die
CodeDeployToECS
Aktion generiert dynamisch eine neue Version der Aufgabendefinition. In dieser Phase ersetzt diese Aktion Platzhalter in der Aufgabendefinitionsdatei durch Bilder, die aus imageDetail JSON-Dateien URI abgerufen wurden. Wenn Sie beispielsweise IMAGE1_ NAME als ContainerName Parameter Image1 festlegen, sollten Sie den Platzhalter < IMAGE1 _ NAME > als Wert des Bildfeldes in Ihrer Aufgabendefinitionsdatei angeben. In diesem Fall ersetzt die CodeDeployTo ECS Aktion den Platzhalter < IMAGE1 _ NAME > durch das tatsächliche Bild, das aus imageDetail .json in dem Artefakt URI abgerufen wurde, das Sie als Image1 angeben. ArtifactNameBei Aktualisierungen der Aufgabendefinition enthält die CodeDeploy
AppSpec.yaml
Datei die Eigenschaft.TaskDefinition
TaskDefinition: <TASK_DEFINITION>
Diese Eigenschaft wird durch die
CodeDeployToECS
Aktion aktualisiert, nachdem die neue Aufgabendefinition erstellt wurde.Für den Wert des
TaskDefinition
Felds muss der Platzhaltertext < TASK _ DEFINITION > sein. DieCodeDeployToECS
Aktion ersetzt diesen Platzhalter durch den aktuellen Platzhalter ARN der dynamisch generierten Aufgabendefinition.
Ausgabeartefakte
-
Anzahl der Artefakte:
0
-
Beschreibung: Ausgabeartefakte gelten nicht für diesen Aktionstyp.
Aktionsdeklaration
Weitere Informationen finden Sie auch unter
Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
-
Tutorial: Eine Pipeline mit einer ECR Amazon-Quelle und ECS -to-Deployment erstellen CodeDeploy — Dieses Tutorial führt Sie durch die Erstellung der Ressourcen CodeDeploy und die ECS Amazon-Ressourcen, die Sie für eine blaue/grüne Bereitstellung benötigen. Das Tutorial zeigt Ihnen, wie Sie ein Docker-Image an Amazon übertragen ECR und eine ECS Amazon-Aufgabendefinition erstellen, die Ihren Docker-Image-Namen, Container-Namen, ECS Amazon-Servicenamen und Load Balancer-Konfiguration auflistet. Das Tutorial führt Sie anschließend durch die Erstellung der AppSpec Datei und der Pipeline für Ihre Bereitstellung.
Anmerkung
In diesem Thema und in der Anleitung wird die Aktion CodeDeploy/ECSblue/green für CodePipeline beschrieben. Informationen zu ECS Standardaktionen finden Sie unter Tutorial: Kontinuierliche Bereitstellung mit CodePipeline. CodePipeline
-
AWS CodeDeploy Benutzerhandbuch — Informationen zur Verwendung des Load Balancers, des Produktions-Listeners, der Zielgruppen und Ihrer ECS Amazon-Anwendung in einer blauen/grünen Bereitstellung finden Sie unter Tutorial: Bereitstellen eines Amazon-Service. ECS Diese Referenzinformationen im AWS CodeDeploy Benutzerhandbuch bieten einen Überblick über Blue/Green-Bereitstellungen bei Amazon ECS und. AWS CodeDeploy
-
Amazon Elastic Container Service Developer Guide — Informationen zur Arbeit mit Docker-Images und Containern, ECS Services und Clustern sowie ECS Tasksets finden Sie unter Was ist Amazon ECS?