

A Amazon não CodeCatalyst está mais aberta a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Como migrar do CodeCatalyst](migration.md).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Modificação de uma definição de tarefa do Amazon ECS
<a name="render-ecs-action"></a>

Esta seção descreve como atualizar o `image` campo em um arquivo de [definição de tarefa do Amazon Elastic Container Service (Amazon ECS) usando](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html#welcome-task-definitions) um fluxo de trabalho. CodeCatalyst Para fazer isso, você deve adicionar a ação **Renderizar definição de tarefa do Amazon ECS** ao seu fluxo de trabalho. Essa ação atualiza o campo de imagem no arquivo de definição de tarefa com um nome de imagem do Docker fornecido pelo seu fluxo de trabalho no runtime.

**nota**  
Você também pode usar esta ação para atualizar o campo `environment` da definição de tarefa com variáveis de ambiente.

**Topics**
+ [Quando usar essa ação](#render-ecs-action-when-to-use)
+ [Como a ação “Renderizar definição de tarefa do Amazon ECS” funciona](#render-ecs-action-how-it-works)
+ [Imagem de runtime usada pela ação “Renderizar definição de tarefa do Amazon ECS”](#render-ecs-action-runtime)
+ [Exemplo: modificar uma definição de tarefa do Amazon ECS](render-ecs-action-example-workflow.md)
+ [Adicionar a ação “Renderizar definição de tarefa do Amazon ECS”](render-ecs-action-add.md)
+ [Visualização do arquivo de definição de tarefa atualizado](render-ecs-action-view.md)
+ [Variáveis de “Renderizar definição de tarefa do Amazon ECS”](render-ecs-action-variables.md)
+ [Ação YAML “Renderizar definição de tarefa do Amazon ECS”](render-ecs-action-ref.md)

## Quando usar essa ação
<a name="render-ecs-action-when-to-use"></a>

Use essa ação se você tiver um fluxo de trabalho que cria e marca uma imagem do Docker com conteúdo dinâmico, como um ID de confirmação ou carimbo de data/hora. 

Não use essa ação se o arquivo de definição de tarefa tiver um valor de imagem que permanece sempre o mesmo. Nesse caso, você pode inserir manualmente o nome da sua imagem no arquivo de definição de tarefa.

## Como a ação “Renderizar definição de tarefa do Amazon ECS” funciona
<a name="render-ecs-action-how-it-works"></a>

Você deve usar a ação **Renderizar definição de tarefa do Amazon ECS** com as ações **Compilar** e **Implantar no Amazon ECS** em seu fluxo de trabalho. Juntas, essas ações funcionam da seguinte forma:

1. A ação de **criação** cria sua imagem do Docker e a marca com um nome, um ID de confirmação, um carimbo de data/hora ou outro conteúdo dinâmico. Por exemplo, sua ação de criação pode ser semelhante a esta:

   ```
   MyECSWorkflow
     Actions:
       BuildAction:
         Identifier: aws/build@v1
         ...
         Configuration:
           Steps:
           # Build, tag, and push the Docker image...
             - Run: docker build -t MyDockerImage:${WorkflowSource.CommitId} .
             ...
   ```

   No código anterior, a diretiva `docker build -t` indica compilar a imagem do Docker e marcá-la com o ID de confirmação no runtime da ação. O nome da imagem gerada pode ser semelhante a este:

   `MyDockerImage:a37bd7e`

1. A ação **Renderizar definição de tarefa do Amazon ECS** adiciona o nome da imagem gerada dinamicamente, `MyDockerImage:a37bd7e`, ao seu arquivo de definição de tarefa, da seguinte forma:

   ```
   {
       "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
                   }
               ]
           }
       ],
   ...
   }
   ```

   Opcionalmente, você também pode fazer com que a ação **Renderizar definição de tarefa do Amazon ECS** adicione variáveis de ambiente à definição de tarefa, assim:

   ```
   {
     "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"
           }
         ]
       }
     ],
   ...
   }
   ```

   Para ter mais informações sobre as variáveis ​​de ambiente, consulte [Especificar variáveis de ambiente](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) no *Guia do desenvolvedor do Amazon Elastic Container Service*.

1. A ação **Implantar no Amazon ECS** registra o arquivo de definição de tarefa atualizado no Amazon ECS. O registro do arquivo de definição de tarefa atualizado implanta a nova imagem, `MyDockerImage:a37bd7e` no Amazon ECS.

## Imagem de runtime usada pela ação “Renderizar definição de tarefa do Amazon ECS”
<a name="render-ecs-action-runtime"></a>

A ação **Renderizar definição de tarefa do Amazon ECS** é executada em uma [imagem de novembro de 2022](build-images.md#build.previous-image). Para obter mais informações, consulte [Imagens ativas](build-images.md#build-curated-images).