Amazon CodeCatalyst ist nicht mehr offen für neue Kunden. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter Wie migriert man von CodeCatalyst.
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.
Ändern einer Amazon ECS-Aufgabendefinition
In diesem Abschnitt wird beschrieben, wie das image Feld in einer Aufgabendefinitionsdatei von Amazon Elastic Container Service (Amazon ECS) mithilfe eines CodeCatalyst Workflows aktualisiert wird. Um dies zu erreichen, müssen Sie Ihrem Workflow die Aktion „Amazon ECS-Aufgabendefinition rendern“ hinzufügen. Diese Aktion aktualisiert das Image-Feld in der Aufgabendefinitionsdatei mit einem Docker-Image-Namen, der von Ihrem Workflow zur Laufzeit bereitgestellt wird.
Anmerkung
Sie können diese Aktion auch verwenden, um das environment Feld der Aufgabendefinition mit Umgebungsvariablen zu aktualisieren.
Themen
Wann sollte diese Aktion verwendet werden
Verwenden Sie diese Option, wenn Sie einen Workflow haben, der ein Docker-Image mit dynamischen Inhalten wie einer Commit-ID oder einem Zeitstempel erstellt und taggt.
Verwenden Sie diese Aktion nicht, wenn Ihre Aufgabendefinitionsdatei einen Bildwert enthält, der immer gleich bleibt. In diesem Fall können Sie den Namen Ihres Images manuell in die Aufgabendefinitionsdatei eingeben.
So funktioniert die Aktion „Amazon ECS-Aufgabendefinition rendern“
Sie müssen die Aktion „Amazon ECS-Aufgabendefinition rendern“ zusammen mit den Aktionen „Erstellen“ und „In Amazon ECS bereitstellen“ in Ihrem Workflow verwenden. Zusammen funktionieren diese Aktionen wie folgt:
-
Die Build-Aktion erstellt Ihr Docker-Image und taggt es mit einem Namen, einer Commit-ID, einem Zeitstempel oder einem anderen dynamischen Inhalt. Ihre Build-Aktion könnte beispielsweise so aussehen:
MyECSWorkflow Actions: BuildAction: Identifier: aws/build@v1 ... Configuration: Steps: # Build, tag, and push the Docker image... - Run: docker build -t MyDockerImage:${WorkflowSource.CommitId} . ...Im vorherigen Code gibt die
docker build -tDirektive an, das Docker-Image zu erstellen und es zur Laufzeit der Aktion mit der Commit-ID zu taggen. Der generierte Image-Name könnte so aussehen:MyDockerImage:a37bd7e -
Die Aktion „Amazon ECS-Aufgabendefinition rendern“ fügt den dynamisch generierten Image-Namen wie folgt zu Ihrer Aufgabendefinitionsdatei hinzu:
MyDockerImage:a37bd7e{ "executionRoleArn": "arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role", "containerDefinitions": [ { "name": "codecatalyst-ecs-container", "image": MyDockerImage:a37bd7e, "essential": true, ... "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ] } ], ... }Optional können Sie mit der Aktion „Amazon ECS-Aufgabendefinition rendern“ auch Umgebungsvariablen zur Aufgabendefinition hinzufügen, etwa so:
{ "executionRoleArn": "arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role", "containerDefinitions": [ { "name": "codecatalyst-ecs-container", "image": MyDockerImage:a37bd7e, ... "environment": [ { name": "ECS_LOGLEVEL", value": "info" } ] } ], ... }Weitere Informationen zu Umgebungsvariablen finden Sie unter Angeben von Umgebungsvariablen im Amazon Elastic Container Service Developer Guide.
-
Die Aktion Auf Amazon ECS bereitstellen registriert die aktualisierte Aufgabendefinitionsdatei bei Amazon ECS. Durch die Registrierung der aktualisierten Aufgabendefinitionsdatei wird das neue Image
MyDockerImage:a37bd7ein Amazon ECS bereitgestellt.
Runtime-Image, das von der Aktion „Amazon ECS-Aufgabendefinition rendern“ verwendet wird
Die Aktion „Amazon ECS-Aufgabendefinition rendern“ wird auf einem Bild vom November 2022 ausgeführt. Weitere Informationen finden Sie unter Aktive Bilder.