

Amazon non CodeCatalyst è più aperta a nuovi clienti. I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta [Come migrare da CodeCatalyst](migration.md).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esempio: modificare un taskdef di Amazon ECS
<a name="render-ecs-action-example-workflow"></a>

Di seguito è riportato un esempio di flusso di lavoro completo che include l'azione di **definizione delle attività di Render Amazon ECS**, insieme alle azioni di compilazione e distribuzione. Lo scopo del flusso di lavoro è creare e distribuire un'immagine Docker nel tuo cluster Amazon ECS. Il flusso di lavoro è costituito dai seguenti elementi costitutivi eseguiti in sequenza:
+ Un **trigger**: questo trigger avvia l'esecuzione automatica del flusso di lavoro quando invii una modifica al tuo repository di origine. Per ulteriori informazioni sui trigger, consulta [L'avvio di un flusso di lavoro viene eseguito automaticamente utilizzando i trigger](workflows-add-trigger.md). 
+ Un'azione di **compilazione** (`BuildDocker`): all'attivazione, l'azione crea l'immagine Docker utilizzando il Dockerfile, la contrassegna con un ID di commit e invia l'immagine ad Amazon ECR. Per ulteriori informazioni sull'azione di compilazione, consulta. [Creazione con flussi di lavoro](build-workflow-actions.md)
+ Un'azione di **definizione dell'attività di Render Amazon ECS** (`RenderTaskDef`): al termine dell'azione di compilazione, questa azione aggiorna un'azione esistente `taskdef.json` situata nella radice del repository di origine con un valore di `image` campo che include l'ID di commit corretto. Salva il file aggiornato con un nuovo nome di file (`task-definition-random-string.json`) e quindi crea un elemento di output che contiene questo file. L'azione di rendering genera anche una variabile chiamata `task-definition` e la imposta sul nome del nuovo file di definizione dell'attività. L'artefatto e la variabile verranno utilizzati nell'azione di distribuzione, che è la successiva.
+ Un'azione **Deploy to Amazon ECS** (`DeployToECS`): al termine dell'azione di **definizione dell'attività Render Amazon ECS**, l'azione **Deploy to Amazon** ECS cerca l'artefatto di output generato dall'azione di rendering `TaskDefArtifact` (), trova il file `task-definition-random-string.json` al suo interno e lo registra con il servizio Amazon ECS. Il servizio Amazon ECS segue quindi le istruzioni contenute nel `task-definition-random-string.json` file per eseguire le attività Amazon ECS e i contenitori di immagini Docker associati all'interno del cluster Amazon ECS. 

```
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}
```