Définition YAML de l'action « Déployer sur Amazon ECS » - Amazon CodeCatalyst

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.

Définition YAML de l'action « Déployer sur Amazon ECS »

Voici la définition YAML de l'action Deploy to Amazon ECS. Pour savoir comment utiliser cette action, consultezDéploiement d'une application sur Amazon Elastic Container Service (ECS) à l'aide 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 Définition du flux de travail YAML.

Note

La plupart des propriétés YAML 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 propriété YAML 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: DeployToECS 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écifier la version majeure, mineure ou corrective d'une action.

Par défaut: aws/ecs-deploy@v1.

Interface utilisateur correspondante : diagramme de flux de travail/étiquette ECS DeployAction _nn/ aws/ecs-deploy @v1

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. Configuration des actions pour qu'elles dépendent d'autres actions

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 (éditeur YAML)

    Optimisé pour la flexibilité lors des courses d'action.

  • Lambda (éditeur visuel) ou Lambda (éditeur YAML)

    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 (éditeur YAML) 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 workflows. 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.

Pour plus d'informations sur les environnements, reportez-vous Déploiement dans Comptes AWS et avec CodeCatalyst des environnements VPC aux sections etCréation d'un environnement.

Interface utilisateur correspondante : onglet Configuration/'Environnement/Compte/Role'/ 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/Compte/Role'/ Environnement

Connections

(ECSDeployAction/Environment/Connections)

(Obligatoire s'Environmentil est inclus)

Spécifiez la connexion au compte à associer à l'action. Vous pouvez spécifier un maximum d'une connexion à un compte sousEnvironment.

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 la façon d'associer une connexion à un compte à votre environnement, consultezCréation d'un environnement.

Interface utilisateur correspondante : onglet Configuration/'Environnement/Compte/Role'/ connexion AWS au compte

Name

(ECSDeployAction/Environment/Connections/Name)

(Obligatoire)

Spécifiez le nom de la connexion au compte.

Interface utilisateur correspondante : onglet Configuration/'Environnement/Compte/Role'/ connexion AWS au compte

Role

(ECSDeployAction/Environment/Connections/Role)

(Obligatoire)

Spécifiez le nom du rôle IAM auquel l'action Deploy to Amazon ECS permet d'accéder AWS. Assurez-vous que ce rôle inclut les 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 plus é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" } ] }

Assurez-vous que ce rôle est ajouté à la connexion de votre compte. Pour en savoir plus sur l'ajout d'un rôle IAM à une connexion à un compte, consultezAjouter des rôles IAM aux connexions aux comptes.

Note

Vous pouvez indiquer le nom du CodeCatalystWorkflowDevelopmentRole-spaceName rôle ici, 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 CodeCatalystWorkflowDevelopmentRole-spaceName rôle dispose d'autorisations très étendues, 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.

Interface utilisateur correspondante : onglet 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 action Deploy to Amazon ECS.

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 Connexion d'un flux de travail à un référentiel source.

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 de données entre les actions d'un flux de travail à l'aide d'artefacts.

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 cluster et votre service Amazon ECS. 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 cluster Amazon ECS existant. L'action Deploy to Amazon ECS déploiera votre application conteneurisée en tant que tâche dans ce cluster. Pour plus d'informations sur les clusters Amazon ECS, 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 service Amazon ECS 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 services Amazon ECS, consultez les services Amazon ECS 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 service Amazon ECS 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 service Amazon ECS 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 service Amazon ECS pour effectuer des déploiements bleu/vert. Pour les déploiements de mises à jour progressives (par défaut), omettez CodeDeploy les informations. Pour plus d'informations sur les déploiements Amazon ECS, consultez les types de déploiement Amazon ECS 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-appspecil 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-appspecil 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