Modificando uma definição de ECS tarefa da Amazon - Amazon CodeCatalyst

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

Modificando uma definição de ECS tarefa da Amazon

Esta seção descreve como atualizar o image campo em um arquivo de definição de tarefa do Amazon Elastic Container Service (AmazonECS) usando um CodeCatalyst fluxo de trabalho. Para fazer isso, você deve adicionar a ação de definição de ECS tarefas Render Amazon ao seu fluxo de trabalho. Essa ação atualiza o campo de imagem no arquivo de definição da tarefa com um nome de imagem do Docker fornecido pelo seu fluxo de trabalho em tempo de execução.

nota

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

Quando usar essa ação

Use isso 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 contiver um valor de imagem que sempre permaneça o mesmo. Nesse caso, você pode inserir manualmente o nome da sua imagem no arquivo de definição da tarefa.

Como funciona a ação “Render Amazon ECS task definition”

Você deve usar a ação de definição de ECS tarefas Render Amazon com as ECS ações build e Deploy to Amazon 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 ter a seguinte aparência:

    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 docker build -t diretiva indica criar a imagem do Docker e marcá-la com o ID do commit no tempo de execução da ação. O nome da imagem gerada pode ter a seguinte aparência:

    MyDockerImage:a37bd7e

  2. A ação de definição de ECS tarefas Render Amazon 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 de definição de ECS tarefas Render Amazon adicione variáveis de ambiente à definição da 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 obter mais informações sobre variáveis de ambiente, consulte Especificação de variáveis de ambiente no Amazon Elastic Container Service Developer Guide.

  3. A ECS ação Deploy to Amazon registra o arquivo de definição de tarefa atualizado na AmazonECS. O registro do arquivo de definição de tarefa atualizado implanta a nova imagem MyDockerImage:a37bd7e na Amazon. ECS

Imagem de tempo de execução usada pela ação 'Render Amazon ECS task definition'

A ação de definição de ECS tarefas Render Amazon é executada em uma imagem de novembro de 2022. Para obter mais informações, consulte Imagens ativas.