Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Modification d'une définition de tâche Amazon ECS
Cette section décrit comment mettre à jour le image
champ dans un fichier de définition de tâche Amazon Elastic Container Service (Amazon ECS) à l'aide CodeCatalyst d'un flux de travail. Pour ce faire, vous devez ajouter l'action de définition de tâche Render Amazon ECS à votre flux de travail. Cette action met à jour le champ image du fichier de définition de tâche avec un nom d'image Docker fourni par votre flux de travail lors de l'exécution.
Note
Vous pouvez également utiliser cette action pour mettre à jour le environment
champ de définition de tâche avec des variables d'environnement.
Rubriques
Quand utiliser cette action
Utilisez-le si vous disposez d'un flux de travail qui crée et balise une image Docker avec du contenu dynamique, tel qu'un identifiant de validation ou un horodatage.
N'utilisez pas cette action si votre fichier de définition de tâche contient une valeur d'image qui reste toujours la même. Dans ce cas, vous pouvez saisir manuellement le nom de votre image dans le fichier de définition de tâche.
Fonctionnement de l'action « Rendre la définition des tâches Amazon ECS »
Vous devez utiliser l'action de définition de tâche Render Amazon ECS avec les actions Build et Deploy to Amazon ECS dans votre flux de travail. Ensemble, ces actions fonctionnent comme suit :
-
L'action de création crée votre image Docker et l'étiquette avec un nom, un identifiant de validation, un horodatage ou un autre contenu dynamique. Par exemple, votre action de création peut ressembler à ceci :
MyECSWorkflow Actions: BuildAction: Identifier: aws/build@v1 ... Configuration: Steps: # Build, tag, and push the Docker image... - Run: docker build -t MyDockerImage:${WorkflowSource.CommitId} . ...
Dans le code précédent, la
docker build -t
directive indique de créer l'image Docker et de l'étiqueter avec l'ID de validation lors de l'exécution de l'action. Le nom de l'image générée peut ressembler à ceci :MyDockerImage:a37bd7e
-
L'action de définition de tâche Render Amazon ECS ajoute le nom de l'image générée dynamiquement à votre fichier de définition de tâche, comme suit :
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 } ] } ], ... }
Vous pouvez également demander à l'action Render Amazon ECS de définition de tâche d'ajouter des variables d'environnement à la définition de tâche, comme suit :
{ "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" } ] } ], ... }
Pour plus d'informations sur les variables d'environnement, consultez la section Spécification des variables d'environnement dans le manuel Amazon Elastic Container Service Developer Guide.
-
L'action Deploy to Amazon ECS enregistre le fichier de définition de tâche mis à jour auprès d'Amazon ECS. L'enregistrement du fichier de définition de tâche mis à jour déploie la nouvelle image
MyDockerImage:a37bd7e
dans Amazon ECS.
Image d'exécution utilisée par l'action « Rendre la définition des tâches Amazon ECS »
L'action de définition de tâche Render Amazon ECS s'exécute sur une image de novembre 2022. Pour de plus amples informations, veuillez consulter Images actives.