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.
Action « Déployer sur Amazon ECS » YAML
Voici la YAML définition de l'ECSaction Deploy to Amazon. Pour savoir comment utiliser cette action, consultezDéploiement sur Amazon à l'ECSaide d'un flux de travail.
Cette définition d'action existe sous la forme d'une section au sein d'un fichier de définition de flux de travail plus large. Pour de plus amples informations sur ce fichier, veuillez consulter YAMLDéfinition du flux de travail.
Note
La plupart des YAML propriétés suivantes ont des éléments d'interface utilisateur correspondants dans l'éditeur visuel. Pour rechercher un élément de l'interface utilisateur, utilisez Ctrl+F. L'élément sera répertorié avec sa YAML propriété associée.
# The workflow definition starts here.
# See Propriétés de haut niveau for details.
Name: MyWorkflow
SchemaVersion: 1.0
Actions:
# The action definition starts here.
ECSDeployAction_nn
:
Identifier: aws/ecs-deploy@v1
DependsOn:
- build-action
Compute:
Type: EC2 | Lambda
Fleet: fleet-name
Timeout: timeout-minutes
Environment:
Name: environment-name
Connections:
- Name: account-connection-name
Role: iam-role-name
Inputs:
# Specify a source or an artifact, but not both.
Sources:
- source-name-1
Artifacts:
- task-definition-artifact
Configuration:
region: us-east-1
cluster: ecs-cluster
service: ecs-service
task-definition: task-definition-path
force-new-deployment: false|true
codedeploy-appspec: app-spec-file-path
codedeploy-application: application-name
codedeploy-deployment-group: deployment-group-name
codedeploy-deployment-description: deployment-description
ECSDeployAction
(Obligatoire)
Spécifiez le nom de l'action. Tous les noms d'action doivent être uniques dans le flux de travail. Les noms d'action sont limités aux caractères alphanumériques (a-z, A-Z, 0-9), aux tirets (-) et aux traits de soulignement (_). Les espaces ne sont pas autorisés. Vous ne pouvez pas utiliser de guillemets pour activer les caractères spéciaux et les espaces dans les noms d'action.
Par défaut: ECSDeployAction_nn
.
Interface utilisateur correspondante : onglet Configuration/nom d'affichage de l'action
Identifier
(ECSDeployAction
/Identifier)
(Obligatoire)
Identifie l'action. Ne modifiez pas cette propriété, sauf si vous souhaitez modifier la version. Pour plus d’informations, consultez Spécification de la version de l'action à utiliser.
Par défaut: aws/ecs-deploy@v1
.
Interface utilisateur correspondante : diagramme de flux de travail/ ECSDeployAction _nn/ aws/ecs-deploy @v1 label
DependsOn
(ECSDeployAction
/DependsOn)
(Facultatif)
Spécifiez une action, un groupe d'actions ou une porte qui doit s'exécuter correctement pour que cette action soit exécutée.
Pour plus d'informations sur la fonctionnalité « dépend », consultez. Actions de séquençage
Interface utilisateur correspondante : onglet Entrées/dépend de - facultatif
Compute
(ECSDeployAction
/Compute)
(Facultatif)
Le moteur informatique utilisé pour exécuter les actions de votre flux de travail. Vous pouvez spécifier le calcul au niveau du flux de travail ou au niveau de l'action, mais pas les deux. Lorsqu'elle est spécifiée au niveau du flux de travail, la configuration de calcul s'applique à toutes les actions définies dans le flux de travail. Au niveau du flux de travail, vous pouvez également exécuter plusieurs actions sur la même instance. Pour plus d’informations, consultez Partage du calcul entre les actions.
Interface utilisateur correspondante : aucune
Type
(ECSDeployAction
/Compute/Type)
(Obligatoire s'Computeil est inclus)
Type de moteur de calcul. Vous pouvez utiliser l'une des valeurs suivantes :
-
EC2(éditeur visuel) ou
EC2
(YAMLéditeur)Optimisé pour la flexibilité lors des courses d'action.
-
Lambda (éditeur visuel) ou
Lambda
(YAMLéditeur)Vitesses de démarrage des actions optimisées.
Pour plus d'informations sur les types de calcul, veuillez consulter Types de calcul.
Interface utilisateur correspondante : onglet Configuration/Avancé - facultatif/Type de calcul
Fleet
(ECSDeployAction
/Compute/Fleet)
(Facultatif)
Spécifiez la machine ou le parc qui exécutera votre flux de travail ou vos actions de flux de travail. Dans le cas des flottes à la demande, lorsqu'une action démarre, le flux de travail fournit les ressources dont il a besoin et les machines sont détruites à la fin de l'action. Exemples de flottes à la demande :Linux.x86-64.Large
,Linux.x86-64.XLarge
. Pour plus d'informations sur les flottes à la demande, consultezPropriétés de flotte à la demande.
Avec les flottes provisionnées, vous configurez un ensemble de machines dédiées pour exécuter les actions de votre flux de travail. Ces machines restent inactives, prêtes à exécuter des actions immédiatement. Pour plus d'informations sur les flottes provisionnées, consultez. Propriétés du parc provisionné
S'il Fleet
est omis, la valeur par défaut estLinux.x86-64.Large
.
Interface utilisateur correspondante : onglet Configuration/Avancé - facultatif/Parc de calcul
Timeout
(ECSDeployAction
/Timeout)
(Facultatif)
Spécifiez la durée en minutes (YAMLéditeur) ou en heures et minutes (éditeur visuel) pendant laquelle l'action peut être exécutée avant la CodeCatalyst fin de l'action. Le minimum est de 5 minutes et le maximum est décrit dansQuotas pour les flux de travail dans CodeCatalyst. Le délai d'expiration par défaut est le même que le délai d'expiration maximal.
Interface utilisateur correspondante : onglet Configuration/Délai d'expiration - facultatif
Environment
(ECSDeployAction
/Environment)
(Obligatoire)
Spécifiez l' CodeCatalyst environnement à utiliser avec l'action. L'action se connecte à Compte AWS l'Amazon facultatif VPC spécifié dans l'environnement choisi. L'action utilise le IAM rôle par défaut spécifié dans l'environnement pour se connecter au Compte AWS, et utilise le IAM rôle spécifié dans la VPCconnexion Amazon pour se connecter à AmazonVPC.
Note
Si le IAM rôle par défaut ne dispose pas des autorisations requises par l'action, vous pouvez configurer l'action pour utiliser un autre rôle. Pour plus d’informations, consultez Modifier le IAM rôle d'une action.
Pour plus d'informations sur les environnements, reportez-vous Déploiement dans Comptes AWS et VPCs aux sections etCréation d'un environnement.
Interface utilisateur correspondante : onglet Configuration/Environnement
Name
(ECSDeployAction
/Environment/Name)
(Obligatoire s'Environmentil est inclus)
Spécifiez le nom de l'environnement existant que vous souhaitez associer à l'action.
Interface utilisateur correspondante : onglet Configuration/Environnement
Connections
(ECSDeployAction
/Environment/Connections)
(Facultatif dans les nouvelles versions de l'action ; obligatoire dans les anciennes versions)
Spécifiez la connexion au compte à associer à l'action. Vous pouvez spécifier un maximum d'une connexion à un compte sousEnvironment
.
Si vous ne spécifiez pas de connexion au compte :
-
L'action utilise la Compte AWS connexion et le IAM rôle par défaut spécifiés dans l'environnement de la CodeCatalyst console. Pour plus d'informations sur l'ajout d'une connexion à un compte et d'un IAM rôle par défaut dans l'environnement, consultezCréation d'un environnement.
-
Le IAM rôle par défaut doit inclure les politiques et les autorisations requises par l'action. Pour déterminer quelles sont ces politiques et autorisations, consultez la description de la propriété Role dans la documentation de YAML définition de l'action.
Pour plus d'informations sur les connexions aux comptes, consultezPermettre l'accès aux AWS ressources avec Connected Comptes AWS. Pour plus d'informations sur l'ajout d'une connexion de compte à un environnement, consultezCréation d'un environnement.
Interface utilisateur correspondante : l'une des options suivantes, selon la version de l'action :
-
(Versions plus récentes) Onglet de configuration/Environnement/Contenu
my-environment
? /menu à trois points/ Changer de rôle -
(Anciennes versions) Onglet de configuration/'Environnement/Compte/Role'/ Connexion AWS au compte
Name
(ECSDeployAction
/Environment/Connections/Name)
(Obligatoire s'Connectionsil est inclus)
Spécifiez le nom de la connexion au compte.
Interface utilisateur correspondante : l'une des options suivantes, selon la version de l'action :
-
(Versions plus récentes) Onglet de configuration/Environnement/Contenu
my-environment
? /menu à trois points/ Changer de rôle -
(Anciennes versions) Onglet de configuration/'Environnement/Compte/Role'/ Connexion AWS au compte
Role
(ECSDeployAction
/Environment/Connections/Role)
(Obligatoire s'Connectionsil est inclus)
Spécifiez le nom du IAM rôle auquel l'ECSaction Deploy to Amazon utilise pour accéder AWS. Assurez-vous que vous avez ajouté le rôle à votre CodeCatalyst espace et qu'il inclut les politiques suivantes.
Si vous ne spécifiez aucun IAM rôle, l'action utilise le IAM rôle par défaut répertorié dans l'environnement de la CodeCatalyst console. Si vous utilisez le rôle par défaut dans l'environnement, assurez-vous qu'il est conforme aux politiques suivantes.
-
La politique d'autorisation suivante :
Avertissement
Limitez les autorisations à celles indiquées dans la politique suivante. L'utilisation d'un rôle doté d'autorisations étendues peut présenter un risque de sécurité.
{ "Version": "2012-10-17", "Statement": [{ "Action":[ "ecs:DescribeServices", "ecs:CreateTaskSet", "ecs:DeleteTaskSet", "ecs:ListClusters", "ecs:RegisterTaskDefinition", "ecs:UpdateServicePrimaryTaskSet", "ecs:UpdateService", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:ModifyRule", "lambda:InvokeFunction", "lambda:ListFunctions", "cloudwatch:DescribeAlarms", "sns:Publish", "sns:ListTopics", "s3:GetObject", "s3:GetObjectVersion", "codedeploy:CreateApplication", "codedeploy:CreateDeployment", "codedeploy:CreateDeploymentGroup", "codedeploy:GetApplication", "codedeploy:GetDeployment", "codedeploy:GetDeploymentGroup", "codedeploy:ListApplications", "codedeploy:ListDeploymentGroups", "codedeploy:ListDeployments", "codedeploy:StopDeployment", "codedeploy:GetDeploymentTarget", "codedeploy:ListDeploymentTargets", "codedeploy:GetDeploymentConfig", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:BatchGetApplicationRevisions", "codedeploy:BatchGetDeploymentGroups", "codedeploy:BatchGetDeployments", "codedeploy:BatchGetApplications", "codedeploy:ListApplicationRevisions", "codedeploy:ListDeploymentConfigs", "codedeploy:ContinueDeployment" ], "Resource":"*", "Effect":"Allow" },{"Action":[ "iam:PassRole" ], "Effect":"Allow", "Resource":"*", "Condition":{"StringLike":{"iam:PassedToService":[ "ecs-tasks.amazonaws.com", "codedeploy.amazonaws.com" ] } } }] }
Note
La première fois que le rôle est utilisé, utilisez le caractère générique suivant dans la déclaration de politique de ressources, puis délimitez la politique avec le nom de la ressource une fois celle-ci disponible.
"Resource": "*"
-
La politique de confiance personnalisée suivante :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Note
Vous pouvez utiliser le CodeCatalystWorkflowDevelopmentRole-
rôle avec cette action, si vous le souhaitez. Pour plus d’informations sur ce rôle, consultez Création du CodeCatalystWorkflowDevelopmentRole-spaceNamerôle pour votre compte et votre espace. Sachez que le spaceName
CodeCatalystWorkflowDevelopmentRole-
rôle dispose d'autorisations d'accès complètes, ce qui peut présenter un risque de sécurité. Nous vous recommandons de n'utiliser ce rôle que dans les didacticiels et les scénarios où la sécurité est moins préoccupante. spaceName
Interface utilisateur correspondante : l'une des options suivantes, selon la version de l'action :
-
(Versions plus récentes) Onglet de configuration/Environnement/Contenu
my-environment
? /menu à trois points/ Changer de rôle -
(Anciennes versions) Onglet de configuration/'Environnement/Compte/Role'/ Rôle
Inputs
(ECSDeployAction
/Inputs)
(Facultatif)
La Inputs
section définit les données dont ils ont ECSDeployAction
besoin lors de l'exécution d'un flux de travail.
Note
Une seule entrée (source ou artefact) est autorisée par ECS action Deploy to Amazon.
Interface utilisateur correspondante : onglet Entrées
Sources
(ECSDeployAction
/Inputs/Sources)
(Obligatoire si votre fichier de définition de tâche est stocké dans un référentiel source)
Si votre fichier de définition de tâche est stocké dans un référentiel source, spécifiez l'étiquette de ce référentiel source. Actuellement, la seule étiquette prise en charge estWorkflowSource
.
Si votre fichier de définition de tâche n'est pas contenu dans un référentiel source, il doit résider dans un artefact généré par une autre action.
Pour plus d'informations sur les sources, consultez Connecter les référentiels sources aux flux de travail.
Interface utilisateur correspondante : onglet Entrées/Sources - facultatif
Artifacts - input
(ECSDeployAction
/Inputs/Artifacts)
(Obligatoire si votre fichier de définition de tâche est stocké dans un artefact de sortie d'une action précédente)
Si le fichier de définition de tâche que vous souhaitez déployer est contenu dans un artefact généré par une action précédente, spécifiez cet artefact ici. Si votre fichier de définition de tâche n'est pas contenu dans un artefact, il doit résider dans votre référentiel source.
Pour plus d'informations sur les artefacts, y compris des exemples, consultezPartage d'artefacts et de fichiers entre les actions.
Interface utilisateur correspondante : onglet Configuration/Artefacts - facultatif
Configuration
(ECSDeployAction
/Configuration)
(Obligatoire)
Section dans laquelle vous pouvez définir les propriétés de configuration de l'action.
Interface utilisateur correspondante : onglet Configuration
region
(Configuration/region)
(Obligatoire)
Spécifiez la AWS région dans laquelle se trouvent votre ECS cluster et votre service Amazon. Pour obtenir la liste des codes de région, consultez la section Points de terminaison régionaux dans le Références générales AWS.
Interface utilisateur correspondante : onglet Configuration/région
cluster
(ECSDeployAction
/Configuration/cluster)
(Obligatoire)
Spécifiez le nom d'un ECS cluster Amazon existant. L'ECSaction Deploy to Amazon déploiera votre application conteneurisée en tant que tâche dans ce cluster. Pour plus d'informations sur les ECS clusters Amazon, consultez la section Clusters du manuel Amazon Elastic Container Service Developer Guide.
Interface utilisateur correspondante : onglet Configuration/Cluster
service
(ECSDeployAction
/Configuration/service)
(Obligatoire)
Spécifiez le nom d'un ECS service Amazon existant qui instanciera le fichier de définition de tâche. Ce service doit résider sous le cluster spécifié dans le cluster
champ. Pour plus d'informations sur les ECS services Amazon, consultez les ECSservices Amazon dans le manuel Amazon Elastic Container Service Developer Guide.
Interface utilisateur correspondante : onglet Configuration/Service
task-definition
(ECSDeployAction
/Configuration/task-definition)
(Obligatoire)
Spécifiez le chemin d'accès à un fichier de définition de tâche existant. Si le fichier se trouve dans votre dépôt source, le chemin est relatif au dossier racine du dépôt source. Si votre fichier réside dans un artefact issu d'une action de flux de travail précédente, le chemin est relatif au dossier racine de l'artefact. Pour plus d'informations sur les fichiers de définition de tâches, consultez la section Définitions de tâches dans le manuel Amazon Elastic Container Service Developer Guide.
Interface utilisateur correspondante : onglet Configuration/Définition des tâches
force-new-deployment
(ECSDeployAction
/Configuration/force-new-deployment)
(Obligatoire)
S'il est activé, le ECS service Amazon peut démarrer de nouveaux déploiements sans modifier la définition du service. Le déploiement forcé entraîne l'arrêt par le service de toutes les tâches en cours d'exécution et le lancement de nouvelles tâches. Pour plus d'informations sur le forçage de nouveaux déploiements, consultez la section Mettre à jour un service dans le manuel Amazon Elastic Container Service Developer Guide.
Par défaut : false
Interface utilisateur correspondante : onglet Configuration/Forcer un nouveau déploiement du service
codedeploy-appspec
(ECSDeployAction
/Configuration/codedeploy-appspec)
(Obligatoire si vous avez configuré votre ECS service Amazon pour utiliser des déploiements bleu/vert, sinon, omettez)
Spécifiez le nom et le chemin d'accès à un fichier de spécification CodeDeploy d'application (AppSpec) existant. Ce fichier doit se trouver à la racine de votre dépôt CodeCatalyst source. Pour plus d'informations sur AppSpec les fichiers, consultez les fichiers de spécification de CodeDeploy l'application (AppSpec) dans le guide de AWS CodeDeploy l'utilisateur.
Note
Ne fournissez CodeDeploy des informations que si vous avez configuré votre ECS service Amazon pour effectuer des déploiements bleu/vert. Pour les déploiements de mises à jour continues (par défaut), omettez CodeDeploy les informations. Pour plus d'informations sur les ECS déploiements Amazon, consultez les types de ECS déploiement Amazon dans le manuel Amazon Elastic Container Service Developer Guide.
Note
Les CodeDeploychamps peuvent être masqués dans l'éditeur visuel. Pour les faire apparaître, voirPourquoi les CodeDeploy champs sont-ils absents de l'éditeur visuel ?.
Interface utilisateur correspondante : onglet Configuration/ CodeDeploy AppSpec
codedeploy-application
(ECSDeployAction
/Configuration/codedeploy-application)
(Obligatoire s'codedeploy-appspec
il est inclus)
Spécifiez le nom d'une CodeDeploy application existante. Pour plus d'informations sur CodeDeploy les applications, consultez la section Utilisation des applications CodeDeploy dans le Guide de AWS CodeDeploy l'utilisateur.
Interface utilisateur correspondante : onglet de configuration/application CodeDeploy
codedeploy-deployment-group
(ECSDeployAction
/Configuration/codedeploy-deployment-group)
(Obligatoire s'codedeploy-appspec
il est inclus)
Spécifiez le nom d'un groupe CodeDeploy de déploiement existant. Pour plus d'informations sur les groupes de CodeDeploy déploiement, consultez la section Utilisation des groupes de déploiement CodeDeploy dans le Guide de AWS CodeDeploy l'utilisateur.
Interface utilisateur correspondante : onglet Configuration/groupe CodeDeploy de déploiement
codedeploy-deployment-description
(ECSDeployAction
/Configuration/codedeploy-deployment-description)
(Facultatif)
Spécifiez une description du déploiement que cette action créera. Pour plus d'informations, consultez la section Utilisation des déploiements CodeDeploy dans le Guide de l'AWS CodeDeploy utilisateur.
Interface utilisateur correspondante : onglet Configuration/description CodeDeploy du déploiement