Änderung einer ECS Amazon-Aufgabendefinition - Amazon 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.

Änderung einer ECS Amazon-Aufgabendefinition

In diesem Abschnitt wird beschrieben, wie Sie das image Feld in einer Amazon Elastic Container Service (AmazonECS) -Aufgabendefinitionsdatei mithilfe eines CodeCatalyst Workflows aktualisieren. Um dies zu erreichen, müssen Sie Ihrem Workflow die Aktion „Amazon rendern“ ECS -Aufgabendefinition 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.

Wann sollte diese Aktion verwendet werden

Verwenden Sie diese Option, wenn Sie über einen Workflow verfügen, der ein Docker-Image mit dynamischen Inhalten wie einer Commit-ID oder einem Zeitstempel erstellt und markiert.

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 Bilds manuell in die Aufgabendefinitionsdatei eingeben.

So funktioniert die Aktion „ECSAmazon-Aufgabendefinition rendern“

Sie müssen die ECSAufgabendefinitionsaktion „Amazon rendern“ zusammen mit den ECS Aktionen Build und Deploy to Amazon in Ihrem Workflow verwenden. Zusammen funktionieren diese Aktionen wie folgt:

  1. Die Build-Aktion erstellt Ihr Docker-Image und kennzeichnet 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 -t Direktive an, das Docker-Image zu erstellen und es zur Laufzeit der Aktion mit der Commit-ID zu kennzeichnen. Der generierte Image-Name könnte so aussehen:

    MyDockerImage:a37bd7e

  2. Die Aktion „ECSAmazon-Aufgabendefinition rendern“ fügt Ihrer Aufgabendefinitionsdatei den dynamisch generierten Bildnamen wie folgt 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 Render ECS Amazon-Aufgabendefinition auch Umgebungsvariablen zur Aufgabendefinition hinzufügen lassen, 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 Spezifizieren von Umgebungsvariablen im Amazon Elastic Container Service Developer Guide.

  3. Die ECS Aktion Deploy to Amazon registriert die aktualisierte Aufgabendefinitionsdatei bei AmazonECS. Durch die Registrierung der aktualisierten Aufgabendefinitionsdatei wird das neue Image MyDockerImage:a37bd7e in Amazon ECS bereitgestellt.

Von der Aktion „ECSAmazon-Aufgabendefinition rendern“ verwendetes Runtime-Image

Die Aktion „ECSAmazon-Aufgabendefinition rendern“ wird auf einem Image vom November 2022 ausgeführt. Weitere Informationen finden Sie unter Aktive Bilder.