

Amazon CodeCatalyst ist nicht mehr offen für Neukunden. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Wie migriert man von CodeCatalyst](migration.md).

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
<a name="render-ecs-action"></a>

In diesem Abschnitt wird beschrieben, wie Sie das `image` Feld in einer [Aufgabendefinitionsdatei](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html#welcome-task-definitions) 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.

**Topics**
+ [Wann sollte diese Aktion verwendet werden](#render-ecs-action-when-to-use)
+ [So funktioniert die Aktion „Amazon ECS-Aufgabendefinition rendern“](#render-ecs-action-how-it-works)
+ [Von der Aktion „Amazon ECS-Aufgabendefinition rendern“ verwendetes Runtime-Image](#render-ecs-action-runtime)
+ [Beispiel: Ändern Sie eine Amazon ECS-Taskdef](render-ecs-action-example-workflow.md)
+ [Aktion „Amazon ECS-Aufgabendefinition rendern“ hinzufügen](render-ecs-action-add.md)
+ [Die aktualisierte Aufgabendefinitionsdatei anzeigen](render-ecs-action-view.md)
+ [Variablen „Amazon ECS-Aufgabendefinition rendern“](render-ecs-action-variables.md)
+ [Aktion 'Amazon ECS-Aufgabendefinition rendern' YAML](render-ecs-action-ref.md)

## Wann sollte diese Aktion verwendet werden
<a name="render-ecs-action-when-to-use"></a>

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“
<a name="render-ecs-action-how-it-works"></a>

Sie müssen die **Amazon ECS-Aufgabendefinitionsaktion rendern** 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`

1. 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](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) im *Amazon Elastic Container Service Developer Guide*.

1. 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.

## Von der Aktion „Amazon ECS-Aufgabendefinition rendern“ verwendetes Runtime-Image
<a name="render-ecs-action-runtime"></a>

Die Aktion **„Amazon ECS-Aufgabendefinition rendern**“ wird auf einem [Image vom November 2022](build-images.md#build.previous-image) ausgeführt. Weitere Informationen finden Sie unter [Aktive Bilder](build-images.md#build-curated-images).