

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.

# Beispiel: Ändern Sie eine Amazon ECS-Taskdef
<a name="render-ecs-action-example-workflow"></a>

Im Folgenden finden Sie ein Beispiel für einen vollständigen Workflow, der die **Aufgabendefinitionsaktion Amazon ECS rendern** sowie die Aktionen Build und Deploy umfasst. Der Zweck des Workflows besteht darin, ein Docker-Image zu erstellen und in Ihrem Amazon ECS-Cluster bereitzustellen. Der Workflow besteht aus den folgenden Bausteinen, die nacheinander ausgeführt werden:
+ Ein **Trigger** — Dieser Trigger startet die Workflow-Ausführung automatisch, wenn Sie eine Änderung an Ihr Quell-Repository übertragen. Weitere Informationen zu Auslösern finden Sie unter [Automatisches Starten einer Workflow-Ausführung mithilfe von Triggern](workflows-add-trigger.md). 
+ Eine **Build-Aktion** (`BuildDocker`) — Beim Auslösen erstellt die Aktion das Docker-Image mithilfe der Dockerfile, kennzeichnet es mit einer Commit-ID und überträgt das Image an Amazon ECR. Weitere Informationen zur Build-Aktion finden Sie unter. [Bauen mit Workflows](build-workflow-actions.md)
+ Eine **Amazon ECS-Aufgabendefinitionsaktion rendern** (`RenderTaskDef`) — Nach Abschluss der Build-Aktion aktualisiert diese Aktion ein `taskdef.json` vorhandenes Objekt im Stammverzeichnis Ihres Quell-Repositorys mit einem `image` Feldwert, der die richtige Commit-ID enthält. Sie speichert die aktualisierte Datei unter einem neuen Dateinamen (`task-definition-random-string.json`) und erstellt dann ein Ausgabeartefakt, das diese Datei enthält. Die Renderaktion generiert außerdem eine Variable namens `task-definition` und setzt sie auf den Namen der neuen Aufgabendefinitionsdatei. Das Artefakt und die Variable werden für die Aktion Deploy verwendet, die als Nächstes folgt.
+ Eine Aktion „In **Amazon ECS bereitstellen**“ (`DeployToECS`) — Nach Abschluss der Aktion **„Amazon ECS-Aufgabendefinition rendern**“ sucht die Aktion „In **Amazon ECS bereitstellen“ nach** dem von der Renderaktion generierten Ausgabeartefakt (`TaskDefArtifact`), findet die darin enthaltene `task-definition-random-string.json` Datei und registriert sie bei Ihrem Amazon ECS-Service. Der Amazon ECS-Service folgt dann den Anweisungen in der `task-definition-random-string.json` Datei, um Amazon ECS-Aufgaben — und zugehörige Docker-Image-Container — in Ihrem Amazon ECS-Cluster auszuführen. 

```
Name: codecatalyst-ecs-workflow
SchemaVersion: 1.0

Triggers:
  - Type: PUSH
    Branches:
      - main
Actions:
  BuildDocker:
    Identifier: aws/build@v1
    Environment:
      Name: codecatalyst-ecs-environment
      Connections:
        - Name: codecatalyst-account-connection
          Role: codecatalyst-ecs-build-role
    Inputs:
      Variables:
        - Name: REPOSITORY_URI
          Value: 111122223333.dkr.ecr.us-east-2.amazonaws.com/codecatalyst-ecs-image-repo
        - Name: IMAGE_TAG
          Value: ${WorkflowSource.CommitId}
    Configuration:
      Steps:
        #pre_build:
        - Run: echo Logging in to Amazon ECR...
        - Run: aws --version
        - Run: aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin 111122223333.dkr.ecr.us-east-2.amazonaws.com
        #build:
        - Run: echo Build started on `date`
        - Run: echo Building the Docker image...
        - Run: docker build -t $REPOSITORY_URI:latest .
        - Run: docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG
        #post_build:
        - Run: echo Build completed on `date`
        - Run: echo Pushing the Docker images...
        - Run: docker push $REPOSITORY_URI:latest
        - Run: docker push $REPOSITORY_URI:$IMAGE_TAG
        
  RenderTaskDef:
    DependsOn: 
      - BuildDocker
    Identifier: aws/ecs-render-task-definition@v1
    Inputs:
      Variables:
        - Name: REPOSITORY_URI
          Value: 111122223333.dkr.ecr.us-east-2.amazonaws.com/codecatalyst-ecs-image-repo
        - Name: IMAGE_TAG
          Value: ${WorkflowSource.CommitId}
    Configuration:      
      task-definition: taskdef.json
      container-definition-name: codecatalyst-ecs-container
      image: $REPOSITORY_URI:$IMAGE_TAG 
    # The output artifact contains the updated task definition file. 
    # The new file is prefixed with 'task-definition'.
    # The output variable is set to the name of the updated task definition file. 
    Outputs:
      Artifacts:
        - Name: TaskDefArtifact
          Files: 
            - "task-definition*"
      Variables:
        - task-definition
        
  DeployToECS:
    Identifier: aws/ecs-deploy@v1
    Environment:
      Name: codecatalyst-ecs-environment
      Connections:
        - Name: codecatalyst-account-connection
          Role: codecatalyst-ecs-deploy-role
    #Input artifact contains the updated task definition file.
    Inputs:
      Sources: []
      Artifacts:
        - TaskDefArtifact
    Configuration:
      region: us-east-2
      cluster: codecatalyst-ecs-cluster
      service: codecatalyst-ecs-service
      task-definition: ${RenderTaskDef.task-definition}
```