Modifica di un file di definizione delle attività di Amazon ECS utilizzando un flusso di lavoro - Amazon CodeCatalyst

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

Modifica di un file di definizione delle attività di Amazon ECS utilizzando un flusso di lavoro

Questa sezione descrive come aggiornare il image campo in un file di definizione delle attività di Amazon Elastic Container Service (Amazon ECS) utilizzando un flusso di lavoro. CodeCatalyst A tale scopo, è necessario aggiungere l'azione di definizione delle attività Render Amazon ECS al flusso di lavoro. Questa azione aggiorna il campo dell'immagine nel file di definizione dell'attività con un nome di immagine Docker fornito dal flusso di lavoro in fase di esecuzione.

Nota

È inoltre possibile utilizzare questa azione per aggiornare il environment campo della definizione dell'attività con variabili di ambiente.

Quando usare questa azione

Usala se disponi di un flusso di lavoro che crea e contrassegna un'immagine Docker con contenuti dinamici, come un ID di commit o un timestamp.

Non utilizzare questa azione se il file di definizione dell'attività contiene un valore di immagine che rimane sempre lo stesso. In questo caso, puoi inserire manualmente il nome dell'immagine nel file di definizione dell'attività.

Come funziona l'azione «Render Amazon ECS task definition»

È necessario utilizzare l'azione di definizione delle attività Render Amazon ECS con le azioni Build e Deploy to Amazon ECS nel flusso di lavoro. Insieme, queste azioni funzionano come segue:

  1. L'azione di compilazione crea l'immagine Docker e la contrassegna con un nome, un ID di commit, un timestamp o altri contenuti dinamici. Ad esempio, l'azione di compilazione potrebbe essere simile alla seguente:

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

    Nel codice precedente, la docker build -t direttiva indica di creare l'immagine Docker e di etichettarla con l'ID di commit in fase di esecuzione dell'azione. Il nome dell'immagine generata potrebbe essere simile al seguente:

    MyDockerImage:a37bd7e

  2. L'azione Render Amazon ECS di definizione dell'attività aggiunge il nome dell'immagine generato dinamicamente al file di definizione dell'attività, in questo modo: 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 } ] } ], ... }

    Facoltativamente, puoi anche fare in modo che l'azione Render Amazon ECS di definizione dell'attività aggiunga variabili di ambiente alla definizione dell'attività, in questo modo:

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

    Per ulteriori informazioni sulle variabili di ambiente, consulta Specificare le variabili di ambiente nella Amazon Elastic Container Service Developer Guide.

  3. L'azione Deploy to Amazon ECS registra il file di definizione delle attività aggiornato con Amazon ECS. La registrazione del file di definizione delle attività aggiornato distribuisce la nuova immagine in MyDockerImage:a37bd7e Amazon ECS.