Action « Déployer sur Amazon ECS » YAML - 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.

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-spaceName 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 CodeCatalystWorkflowDevelopmentRole-spaceName 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.

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