Ändern einer Amazon ECS-Aufgabendefinitionsdatei mithilfe eines Workflows - 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.

Ändern einer Amazon ECS-Aufgabendefinitionsdatei mithilfe eines Workflows

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

Sie müssen die Amazon ECS-Aufgabendefinitionsaktion rendern zusammen mit den Aktionen Build und Deploy to Amazon ECS 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 „Amazon ECS-Aufgabendefinition rendern“ fügt Ihrer Aufgabendefinitionsdatei den dynamisch generierten Imagenamen 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 auch festlegen, dass die Aktion „Amazon ECS-Aufgabendefinition rendern“ der Aufgabendefinition Umgebungsvariablen wie folgt hinzufügt:

    { "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 Aktion In Amazon ECS bereitstellen registriert die aktualisierte Aufgabendefinitionsdatei bei Amazon ECS. Durch die Registrierung der aktualisierten Aufgabendefinitionsdatei wird das neue Image MyDockerImage:a37bd7e in Amazon ECS bereitgestellt.