Exemples d’utilisation de l’AWS CLI avec CodeDeploy - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec CodeDeploy

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec CodeDeploy.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser add-tags-to-on-premises-instances.

AWS CLI

Pour ajouter des balises à des instances sur site

L’exemple add-tags-to-on-premises-instances suivant associe la même balise d’instance sur site à deux instances sur site dans AWS CodeDeploy. Il n’enregistre pas les instances sur site auprès d’AWS CodeDeploy.

aws deploy add-tags-to-on-premises-instances \ --instance-names AssetTag12010298EX AssetTag23121309EX \ --tags Key=Name,Value=CodeDeployDemo-OnPrem

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser batch-get-application-revisions.

AWS CLI

Pour récupérer les informations sur les révisions des applications

L’exemple batch-get-application-revisions suivant récupère les informations relatives à la révision spécifiée stockées dans un référentiel GitHub.

aws deploy batch-get-application-revisions \ --application-name my-codedeploy-application \ --revisions "[{\"gitHubLocation\": {\"commitId\": \"fa85936EXAMPLEa31736c051f10d77297EXAMPLE\",\"repository\": \"my-github-token/my-repository\"},\"revisionType\": \"GitHub\"}]"

Sortie :

{ "revisions": [ { "genericRevisionInfo": { "description": "Application revision registered by Deployment ID: d-A1B2C3111", "lastUsedTime": 1556912355.884, "registerTime": 1556912355.884, "firstUsedTime": 1556912355.884, "deploymentGroups": [] }, "revisionLocation": { "revisionType": "GitHub", "gitHubLocation": { "commitId": "fa85936EXAMPLEa31736c051f10d77297EXAMPLE", "repository": "my-github-token/my-repository" } } } ], "applicationName": "my-codedeploy-application", "errorMessage": "" }

Pour plus d’informations, consultez BatchGetApplicationRevisions dans la Référence des API d’AWS CodeDeploy.

L’exemple de code suivant montre comment utiliser batch-get-applications.

AWS CLI

Pour obtenir les informations sur plusieurs applications

L’exemple batch-get-applications suivant affiche les informations sur plusieurs applications associées au compte AWS de l’utilisateur.

aws deploy batch-get-applications --application-names WordPress_App MyOther_App

Sortie :

{ "applicationsInfo": [ { "applicationName": "WordPress_App", "applicationId": "d9dd6993-f171-44fa-a811-211e4EXAMPLE", "createTime": 1407878168.078, "linkedToGitHub": false }, { "applicationName": "MyOther_App", "applicationId": "8ca57519-31da-42b2-9194-8bb16EXAMPLE", "createTime": 1407453571.63, "linkedToGitHub": false } ] }
  • Pour plus de détails sur l’API, consultez BatchGetApplications dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser batch-get-deployment-groups.

AWS CLI

Pour récupérer les informations sur un ou plusieurs groupes de déploiement

L’exemple batch-get-deployment-groups suivant récupère les informations sur deux des groupes de déploiement associés à l’application CodeDeploy spécifiée.

aws deploy batch-get-deployment-groups \ --application-name my-codedeploy-application \ --deployment-group-names "[\"my-deployment-group-1\",\"my-deployment-group-2\"]"

Sortie :

{ "deploymentGroupsInfo": [ { "deploymentStyle": { "deploymentOption": "WITHOUT_TRAFFIC_CONTROL", "deploymentType": "IN_PLACE" }, "autoRollbackConfiguration": { "enabled": false }, "onPremisesTagSet": { "onPremisesTagSetList": [] }, "serviceRoleArn": "arn:aws:iam::123456789012:role/CodeDeployServiceRole", "lastAttemptedDeployment": { "endTime": 1556912366.415, "status": "Failed", "createTime": 1556912355.884, "deploymentId": "d-A1B2C3111" }, "autoScalingGroups": [], "deploymentGroupName": "my-deployment-group-1", "ec2TagSet": { "ec2TagSetList": [ [ { "Type": "KEY_AND_VALUE", "Value": "my-EC2-instance", "Key": "Name" } ] ] }, "deploymentGroupId": "a1b2c3d4-5678-90ab-cdef-11111example", "triggerConfigurations": [], "applicationName": "my-codedeploy-application", "computePlatform": "Server", "deploymentConfigName": "CodeDeployDefault.AllAtOnce" }, { "deploymentStyle": { "deploymentOption": "WITHOUT_TRAFFIC_CONTROL", "deploymentType": "IN_PLACE" }, "autoRollbackConfiguration": { "enabled": false }, "onPremisesTagSet": { "onPremisesTagSetList": [] }, "serviceRoleArn": "arn:aws:iam::123456789012:role/CodeDeployServiceRole", "autoScalingGroups": [], "deploymentGroupName": "my-deployment-group-2", "ec2TagSet": { "ec2TagSetList": [ [ { "Type": "KEY_AND_VALUE", "Value": "my-EC2-instance", "Key": "Name" } ] ] }, "deploymentGroupId": "a1b2c3d4-5678-90ab-cdef-22222example", "triggerConfigurations": [], "applicationName": "my-codedeploy-application", "computePlatform": "Server", "deploymentConfigName": "CodeDeployDefault.AllAtOnce" } ], "errorMessage": "" }

Pour plus d’informations, consultez BatchGetDeploymentGroups dans la Référence des API d’AWS CodeDeploy.

  • Pour plus de détails sur l’API, consultez BatchGetDeploymentGroups dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser batch-get-deployment-targets.

AWS CLI

Pour récupérer les cibles associées à un déploiement

L’exemple batch-get-deployment-targets suivant renvoie les informations sur l’une des cibles associées au déploiement spécifié.

aws deploy batch-get-deployment-targets \ --deployment-id "d-1A2B3C4D5" \ --target-ids "i-01a2b3c4d5e6f1111"

Sortie :

{ "deploymentTargets": [ { "deploymentTargetType": "InstanceTarget", "instanceTarget": { "lifecycleEvents": [ { "startTime": 1556918592.162, "lifecycleEventName": "ApplicationStop", "status": "Succeeded", "endTime": 1556918592.247, "diagnostics": { "scriptName": "", "errorCode": "Success", "logTail": "", "message": "Succeeded" } }, { "startTime": 1556918593.193, "lifecycleEventName": "DownloadBundle", "status": "Succeeded", "endTime": 1556918593.981, "diagnostics": { "scriptName": "", "errorCode": "Success", "logTail": "", "message": "Succeeded" } }, { "startTime": 1556918594.805, "lifecycleEventName": "BeforeInstall", "status": "Succeeded", "endTime": 1556918681.807, "diagnostics": { "scriptName": "", "errorCode": "Success", "logTail": "", "message": "Succeeded" } } ], "targetArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-01a2b3c4d5e6f1111", "deploymentId": "d-1A2B3C4D5", "lastUpdatedAt": 1556918687.504, "targetId": "i-01a2b3c4d5e6f1111", "status": "Succeeded" } } ] }

Pour plus d’informations, consultez BatchGetDeploymentTargets dans la Référence des API d’AWS CodeDeploy.

L’exemple de code suivant montre comment utiliser batch-get-deployments.

AWS CLI

Pour obtenir les informations sur plusieurs déploiements

L’exemple batch-get-deployments suivant affiche les informations sur plusieurs déploiements associés au compte AWS de l’utilisateur.

aws deploy batch-get-deployments --deployment-ids d-A1B2C3111 d-A1B2C3222

Sortie :

{ "deploymentsInfo": [ { "applicationName": "WordPress_App", "status": "Failed", "deploymentOverview": { "Failed": 0, "InProgress": 0, "Skipped": 0, "Succeeded": 1, "Pending": 0 }, "deploymentConfigName": "CodeDeployDefault.OneAtATime", "creator": "user", "deploymentGroupName": "WordPress_DG", "revision": { "revisionType": "S3", "s3Location": { "bundleType": "zip", "version": "uTecLusEXAMPLEFXtfUcyfV8bEXAMPLE", "bucket": "amzn-s3-demo-bucket", "key": "WordPressApp.zip" } }, "deploymentId": "d-A1B2C3111", "createTime": 1408480721.9, "completeTime": 1408480741.822 }, { "applicationName": "MyOther_App", "status": "Failed", "deploymentOverview": { "Failed": 1, "InProgress": 0, "Skipped": 0, "Succeeded": 0, "Pending": 0 }, "deploymentConfigName": "CodeDeployDefault.OneAtATime", "creator": "user", "errorInformation": { "message": "Deployment failed: Constraint default violated: No hosts succeeded.", "code": "HEALTH_CONSTRAINTS" }, "deploymentGroupName": "MyOther_DG", "revision": { "revisionType": "S3", "s3Location": { "bundleType": "zip", "eTag": "\"dd56cfdEXAMPLE8e768f9d77fEXAMPLE\"", "bucket": "amzn-s3-demo-bucket", "key": "MyOtherApp.zip" } }, "deploymentId": "d-A1B2C3222", "createTime": 1409764576.589, "completeTime": 1409764596.101 } ] }
  • Pour plus de détails sur l’API, consultez BatchGetDeployments dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser batch-get-on-premises-instances.

AWS CLI

Pour obtenir les informations sur une ou plusieurs instances sur site

L’exemple batch-get-on-premises-instances suivant obtient les informations sur deux instances sur site.

aws deploy batch-get-on-premises-instances --instance-names AssetTag12010298EX AssetTag23121309EX

Sortie :

{ "instanceInfos": [ { "iamUserArn": "arn:aws:iam::123456789012:user/AWS/CodeDeploy/AssetTag12010298EX", "tags": [ { "Value": "CodeDeployDemo-OnPrem", "Key": "Name" } ], "instanceName": "AssetTag12010298EX", "registerTime": 1425579465.228, "instanceArn": "arn:aws:codedeploy:us-west-2:123456789012:instance/AssetTag12010298EX_4IwLNI2Alh" }, { "iamUserArn": "arn:aws:iam::123456789012:user/AWS/CodeDeploy/AssetTag23121309EX", "tags": [ { "Value": "CodeDeployDemo-OnPrem", "Key": "Name" } ], "instanceName": "AssetTag23121309EX", "registerTime": 1425595585.988, "instanceArn": "arn:aws:codedeploy:us-west-2:80398EXAMPLE:instance/AssetTag23121309EX_PomUy64Was" } ] }

L’exemple de code suivant montre comment utiliser continue-deployment.

AWS CLI

Pour commencer à rediriger du trafic sans attendre que le délai d’attente spécifié soit écoulé

L’exemple continue-deployment suivant commence à rediriger le trafic des instances de l’environnement d’origine qui sont prêtes à commencer le transfert de leur trafic vers les instances de l’environnement de remplacement.

aws deploy continue-deployment \ --deployment-id "d-A1B2C3111" \ --deployment-wait-type "READY_WAIT"

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez ContinueDeployment dans la Référence des API d’AWS CodeDeploy.

  • Pour plus de détails sur l’API, consultez ContinueDeployment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-application.

AWS CLI

Pour créer une application

L’exemple create-application suivant crée une application et l’associe au compte AWS de l’utilisateur.

aws deploy create-application --application-name MyOther_App

Sortie :

{ "applicationId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" }
  • Pour plus de détails sur l’API, consultez CreateApplication dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-deployment-config.

AWS CLI

Pour créer une configuration de déploiement personnalisée

L’exemple create-deployment-config suivant crée une configuration de déploiement personnalisée et l’associe au compte AWS de l’utilisateur.

aws deploy create-deployment-config \ --deployment-config-name ThreeQuartersHealthy \ --minimum-healthy-hosts type=FLEET_PERCENT,value=75

Sortie :

{ "deploymentConfigId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" }
  • Pour plus de détails sur l’API, consultez CreateDeploymentConfig dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-deployment-group.

AWS CLI

Pour créer un groupe de déploiement

L’exemple create-deployment-group suivant crée un groupe de déploiement et l’associe à l’application spécifiée et au compte AWS de l’utilisateur.

aws deploy create-deployment-group \ --application-name WordPress_App \ --auto-scaling-groups CodeDeployDemo-ASG \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name WordPress_DG \ --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE \ --service-role-arn arn:aws:iam::123456789012:role/CodeDeployDemoRole

Sortie :

{ "deploymentGroupId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" }
  • Pour plus de détails sur l’API, consultez CreateDeploymentGroup dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-deployment.

AWS CLI

Exemple 1 : pour créer un déploiement CodeDeploy à l’aide de la plateforme de calcul EC2/sur site

L’exemple create-deployment suivant crée un déploiement et l’associe au compte AWS de l’utilisateur.

aws deploy create-deployment \ --application-name WordPress_App \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name WordPress_DG \ --description "My demo deployment" \ --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,eTag=dd56cfdEXAMPLE8e768f9d77fEXAMPLE,key=WordPressApp.zip

Sortie :

{ "deploymentId": "d-A1B2C3111" }

Exemple 2 : pour créer un déploiement CodeDeploy à l’aide de la plateforme de calcul Amazon ECS

L’exemple create-deployment suivant utilise les deux fichiers suivants pour déployer un service Amazon ECS.

Contenu du fichier create-deployment.json :

{ "applicationName": "ecs-deployment", "deploymentGroupName": "ecs-deployment-dg", "revision": { "revisionType": "S3", "s3Location": { "bucket": "ecs-deployment-bucket", "key": "appspec.yaml", "bundleType": "YAML" } } }

Ce fichier extrait à son tour le fichier appspec.yaml suivant d’un compartiment S3 appelé ecs-deployment-bucket.

version: 0.0 Resources: - TargetService: Type: AWS::ECS::Service Properties: TaskDefinition: "arn:aws:ecs:region:123456789012:task-definition/ecs-task-def:2" LoadBalancerInfo: ContainerName: "sample-app" ContainerPort: 80 PlatformVersion: "LATEST"

Commande :

aws deploy create-deployment \ --cli-input-json file://create-deployment.json \ --region us-east-1

Sortie :

{ "deploymentId": "d-1234ABCDE" }

Pour plus d’informations, consultez CreateDeployment dans la Référence des API d’AWS CodeDeploy.

  • Pour plus de détails sur l’API, consultez CreateDeployment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-application.

AWS CLI

Pour supprimer une application

L’exemple delete-application suivant supprime l’application spécifiée associée au compte AWS de l’utilisateur.

aws deploy delete-application --application-name WordPress_App

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez DeleteApplication dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-deployment-config.

AWS CLI

Pour supprimer une configuration de déploiement

L’exemple delete-deployment-config suivant supprime une configuration de déploiement personnalisée associée au compte AWS de l’utilisateur.

aws deploy delete-deployment-config --deployment-config-name ThreeQuartersHealthy

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez DeleteDeploymentConfig dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-deployment-group.

AWS CLI

Pour supprimer un groupe de déploiement

L’exemple delete-deployment-group suivant supprime un groupe de déploiement associé à l’application spécifiée.

aws deploy delete-deployment-group \ --application-name WordPress_App \ --deployment-group-name WordPress_DG

Sortie :

{ "hooksNotCleanedUp": [] }
  • Pour plus de détails sur l’API, consultez DeleteDeploymentGroup dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-git-hub-account-token.

AWS CLI

Pour supprimer une connexion au compte GitHub

L’exemple delete-git-hub-account-token suivant supprime la connexion du compte GitHub spécifié.

aws deploy delete-git-hub-account-token --token-name my-github-account

Sortie :

{ "tokenName": "my-github-account" }

Pour plus d’informations, consultez DeleteGitHubAccountToken dans la Référence des API d’AWS CodeDeploy.

  • Pour plus de détails sur l’API, consultez DeleteGitHubAccountToken dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser deregister-on-premises-instance.

AWS CLI

Pour annuler l’enregistrement d’une instance sur site

L’exemple deregister-on-premises-instance suivant annule l’enregistrement d’une instance sur site auprès d’AWS CodeDeploy, mais il ne supprime pas l’utilisateur IAM associé à l’instance ni ne dissocie les balises de l’instance sur site dans AWS CodeDeploy. Il ne désinstalle pas non plus l’agent AWS CodeDeploy de l’instance, ni ne supprime le fichier de configuration sur site de l’instance.

aws deploy deregister-on-premises-instance --instance-name AssetTag12010298EX

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser deregister.

AWS CLI

Pour annuler l’enregistrement d’une instance sur site

L’exemple deregister suivant annule l’enregistrement d’une instance sur site auprès d’AWS CodeDeploy. Il ne supprime pas l’utilisateur IAM associé à l’instance. Dans AWS CodeDeploy, il dissocie les balises sur site de l’instance. Il ne désinstalle pas l’agent AWS CodeDeploy de l’instance et ne supprime pas le fichier de configuration sur site de l’instance.

aws deploy deregister \ --instance-name AssetTag12010298EX \ --no-delete-iam-user \ --region us-west-2

Sortie :

Retrieving on-premises instance information... DONE IamUserArn: arn:aws:iam::80398EXAMPLE:user/AWS/CodeDeploy/AssetTag12010298EX Tags: Key=Name,Value=CodeDeployDemo-OnPrem Removing tags from the on-premises instance... DONE Deregistering the on-premises instance... DONE Run the following command on the on-premises instance to uninstall the codedeploy-agent: aws deploy uninstall
  • Pour plus de détails sur l’API, consultez Deregister dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-application-revision.

AWS CLI

Pour obtenir les informations sur la révision d’une application

L’exemple get-application-revision suivant affiche les informations sur une révision d’application associée à l’application spécifiée.

aws deploy get-application-revision \ --application-name WordPress_App \ --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,eTag=dd56cfdEXAMPLE8e768f9d77fEXAMPLE,key=WordPressApp.zip

Sortie :

{ "applicationName": "WordPress_App", "revisionInfo": { "description": "Application revision registered by Deployment ID: d-A1B2C3111", "registerTime": 1411076520.009, "deploymentGroups": "WordPress_DG", "lastUsedTime": 1411076520.009, "firstUsedTime": 1411076520.009 }, "revision": { "revisionType": "S3", "s3Location": { "bundleType": "zip", "eTag": "dd56cfdEXAMPLE8e768f9d77fEXAMPLE", "bucket": "amzn-s3-demo-bucket", "key": "WordPressApp.zip" } } }
  • Pour plus de détails sur l’API, consultez GetApplicationRevision dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-application.

AWS CLI

Pour obtenir les informations sur une application

L’exemple get-application suivant affiche les informations sur une application associée au compte AWS de l’utilisateur.

aws deploy get-application --application-name WordPress_App

Sortie :

{ "application": { "applicationName": "WordPress_App", "applicationId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "createTime": 1407878168.078, "linkedToGitHub": false } }
  • Pour plus de détails sur l’API, consultez GetApplication dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-deployment-config.

AWS CLI

Pour obtenir les informations sur une configuration de déploiement

L’exemple get-deployment-config suivant affiche les informations sur une configuration de déploiement associée au compte AWS de l’utilisateur.

aws deploy get-deployment-config --deployment-config-name ThreeQuartersHealthy

Sortie :

{ "deploymentConfigInfo": { "deploymentConfigId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "minimumHealthyHosts": { "type": "FLEET_PERCENT", "value": 75 }, "createTime": 1411081164.379, "deploymentConfigName": "ThreeQuartersHealthy" } }
  • Pour plus de détails sur l’API, consultez GetDeploymentConfig dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-deployment-group.

AWS CLI

Pour afficher les informations sur un groupe de déploiement

L’exemple get-deployment-group suivant affiche les informations sur un groupe de déploiement associé à l’application spécifiée.

aws deploy get-deployment-group \ --application-name WordPress_App \ --deployment-group-name WordPress_DG

Sortie :

{ "deploymentGroupInfo": { "applicationName": "WordPress_App", "autoScalingGroups": [ "CodeDeployDemo-ASG" ], "deploymentConfigName": "CodeDeployDefault.OneAtATime", "ec2TagFilters": [ { "Type": "KEY_AND_VALUE", "Value": "CodeDeployDemo", "Key": "Name" } ], "deploymentGroupId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "serviceRoleArn": "arn:aws:iam::123456789012:role/CodeDeployDemoRole", "deploymentGroupName": "WordPress_DG" } }
  • Pour plus de détails sur l’API, consultez GetDeploymentGroup dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-deployment-instance.

AWS CLI

Pour obtenir les informations sur une instance de déploiement

L’exemple get-deployment-instance suivant affiche les informations sur une instance associée au déploiement spécifié.

aws deploy get-deployment-instance --deployment-id d-QA4G4F9EX --instance-id i-902e9fEX

Sortie :

{ "instanceSummary": { "instanceId": "arn:aws:ec2:us-east-1:80398EXAMPLE:instance/i-902e9fEX", "lifecycleEvents": [ { "status": "Succeeded", "endTime": 1408480726.569, "startTime": 1408480726.437, "lifecycleEventName": "ApplicationStop" }, { "status": "Succeeded", "endTime": 1408480728.016, "startTime": 1408480727.665, "lifecycleEventName": "DownloadBundle" }, { "status": "Succeeded", "endTime": 1408480729.744, "startTime": 1408480729.125, "lifecycleEventName": "BeforeInstall" }, { "status": "Succeeded", "endTime": 1408480730.979, "startTime": 1408480730.844, "lifecycleEventName": "Install" }, { "status": "Failed", "endTime": 1408480732.603, "startTime": 1408480732.1, "lifecycleEventName": "AfterInstall" }, { "status": "Skipped", "endTime": 1408480732.606, "lifecycleEventName": "ApplicationStart" }, { "status": "Skipped", "endTime": 1408480732.606, "lifecycleEventName": "ValidateService" } ], "deploymentId": "d-QA4G4F9EX", "lastUpdatedAt": 1408480733.152, "status": "Failed" } }
  • Pour plus de détails sur l’API, consultez GetDeploymentInstance dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-deployment-target.

AWS CLI

Pour renvoyer les informations sur une cible de déploiement

L’exemple get-deployment-target suivant renvoie les informations sur une cible associée au déploiement spécifié.

aws deploy get-deployment-target \ --deployment-id "d-A1B2C3111" \ --target-id "i-a1b2c3d4e5f611111"

Sortie :

{ "deploymentTarget": { "deploymentTargetType": "InstanceTarget", "instanceTarget": { "lastUpdatedAt": 1556918687.504, "targetId": "i-a1b2c3d4e5f611111", "targetArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-a1b2c3d4e5f611111", "status": "Succeeded", "lifecycleEvents": [ { "status": "Succeeded", "diagnostics": { "errorCode": "Success", "message": "Succeeded", "logTail": "", "scriptName": "" }, "lifecycleEventName": "ApplicationStop", "startTime": 1556918592.162, "endTime": 1556918592.247 }, { "status": "Succeeded", "diagnostics": { "errorCode": "Success", "message": "Succeeded", "logTail": "", "scriptName": "" }, "lifecycleEventName": "DownloadBundle", "startTime": 1556918593.193, "endTime": 1556918593.981 }, { "status": "Succeeded", "diagnostics": { "errorCode": "Success", "message": "Succeeded", "logTail": "", "scriptName": "" }, "lifecycleEventName": "BeforeInstall", "startTime": 1556918594.805, "endTime": 1556918681.807 }, { "status": "Succeeded", "diagnostics": { "errorCode": "Success", "message": "Succeeded", "logTail": "", "scriptName": "" }, "lifecycleEventName": "Install", "startTime": 1556918682.696, "endTime": 1556918683.005 }, { "status": "Succeeded", "diagnostics": { "errorCode": "Success", "message": "Succeeded", "logTail": "", "scriptName": "" }, "lifecycleEventName": "AfterInstall", "startTime": 1556918684.135, "endTime": 1556918684.216 }, { "status": "Succeeded", "diagnostics": { "errorCode": "Success", "message": "Succeeded", "logTail": "", "scriptName": "" }, "lifecycleEventName": "ApplicationStart", "startTime": 1556918685.211, "endTime": 1556918685.295 }, { "status": "Succeeded", "diagnostics": { "errorCode": "Success", "message": "Succeeded", "logTail": "", "scriptName": "" }, "lifecycleEventName": "ValidateService", "startTime": 1556918686.65, "endTime": 1556918686.747 } ], "deploymentId": "d-A1B2C3111" } } }

Pour plus d’informations, consultez GetDeploymentTarget dans la Référence des API d’AWS CodeDeploy.

  • Pour plus de détails sur l’API, consultez GetDeploymentTarget dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-deployment.

AWS CLI

Pour obtenir les informations sur un déploiement

L’exemple get-deployment suivant affiche les informations sur un déploiement associé au compte AWS de l’utilisateur.

aws deploy get-deployment --deployment-id d-A1B2C3123

Sortie :

{ "deploymentInfo": { "applicationName": "WordPress_App", "status": "Succeeded", "deploymentOverview": { "Failed": 0, "InProgress": 0, "Skipped": 0, "Succeeded": 1, "Pending": 0 }, "deploymentConfigName": "CodeDeployDefault.OneAtATime", "creator": "user", "description": "My WordPress app deployment", "revision": { "revisionType": "S3", "s3Location": { "bundleType": "zip", "eTag": "\"dd56cfdEXAMPLE8e768f9d77fEXAMPLE\"", "bucket": "amzn-s3-demo-bucket", "key": "WordPressApp.zip" } }, "deploymentId": "d-A1B2C3123", "deploymentGroupName": "WordPress_DG", "createTime": 1409764576.589, "completeTime": 1409764596.101, "ignoreApplicationStopFailures": false } }
  • Pour plus de détails sur l’API, consultez GetDeployment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-on-premises-instance.

AWS CLI

Pour obtenir les informations sur une instance sur site

L’exemple get-on-premises-instance suivant récupère les informations sur l’instance sur site spécifiée.

aws deploy get-on-premises-instance --instance-name AssetTag12010298EX

Sortie :

{ "instanceInfo": { "iamUserArn": "arn:aws:iam::123456789012:user/AWS/CodeDeploy/AssetTag12010298EX", "tags": [ { "Value": "CodeDeployDemo-OnPrem", "Key": "Name" } ], "instanceName": "AssetTag12010298EX", "registerTime": 1425579465.228, "instanceArn": "arn:aws:codedeploy:us-east-1:123456789012:instance/AssetTag12010298EX_4IwLNI2Alh" } }
  • Pour plus de détails sur l’API, consultez GetOnPremisesInstance dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser install.

AWS CLI

Pour installer une instance sur site

L’exemple install suivant copie le fichier de configuration sur site de l’emplacement spécifié sur l’instance vers l’emplacement où l’agent AWS CodeDeploy s’attend à le trouver sur l’instance. Il installe également l’agent AWS CodeDeploy sur l’instance. Il ne crée aucun utilisateur IAM, n’enregistre pas l’instance sur site auprès d’AWS CodeDeploy et n’associe aucune balise d’instance sur site dans AWS CodeDeploy pour l’instance.

aws deploy install \ --override-config \ --config-file C:\temp\codedeploy.onpremises.yml \ --region us-west-2 \ --agent-installer s3://aws-codedeploy-us-west-2/latest/codedeploy-agent.msi

Sortie :

Creating the on-premises instance configuration file... DONE Installing the AWS CodeDeploy Agent... DONE
  • Pour plus de détails sur l’API, consultez Install dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-application-revisions.

AWS CLI

Pour obtenir les informations sur les révisions d’une application

L’exemple list-application-revisions suivant affiche les informations sur toutes les révisions d’application associées à l’application spécifiée.

aws deploy list-application-revisions \ --application-name WordPress_App \ --s-3-bucket amzn-s3-demo-bucket \ --deployed exclude \ --s-3-key-prefix WordPress_ \ --sort-by lastUsedTime \ --sort-order descending

Sortie :

{ "revisions": [ { "revisionType": "S3", "s3Location": { "version": "uTecLusvCB_JqHFXtfUcyfV8bEXAMPLE", "bucket": "amzn-s3-demo-bucket", "key": "WordPress_App.zip", "bundleType": "zip" } }, { "revisionType": "S3", "s3Location": { "version": "tMk.UxgDpMEVb7V187ZM6wVAWEXAMPLE", "bucket": "amzn-s3-demo-bucket", "key": "WordPress_App_2-0.zip", "bundleType": "zip" } } ] }
  • Pour plus de détails sur l’API, consultez ListApplicationRevisions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-applications.

AWS CLI

Pour obtenir les informations sur les applications

L’exemple list-applications suivant affiche les informations sur toutes les applications associées au compte AWS de l’utilisateur.

aws deploy list-applications

Sortie :

{ "applications": [ "WordPress_App", "MyOther_App" ] }
  • Pour plus de détails sur l’API, consultez ListApplications dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-deployment-configs.

AWS CLI

Pour obtenir les informations sur les configurations de déploiement

L’exemple list-deployment-configs suivant affiche les informations sur toutes les configurations de déploiement associées au compte AWS de l’utilisateur.

aws deploy list-deployment-configs

Sortie :

{ "deploymentConfigsList": [ "ThreeQuartersHealthy", "CodeDeployDefault.AllAtOnce", "CodeDeployDefault.HalfAtATime", "CodeDeployDefault.OneAtATime" ] }
  • Pour plus de détails sur l’API, consultez ListDeploymentConfigs dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-deployment-groups.

AWS CLI

Pour obtenir les informations sur les groupes de déploiement

L’exemple list-deployment-groups suivant affiche les informations sur tous les groupes de déploiement associés à l’application spécifiée.

aws deploy list-deployment-groups --application-name WordPress_App

Sortie :

{ "applicationName": "WordPress_App", "deploymentGroups": [ "WordPress_DG", "WordPress_Beta_DG" ] }
  • Pour plus de détails sur l’API, consultez ListDeploymentGroups dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-deployment-instances.

AWS CLI

Pour obtenir les informations sur les instances de déploiement

L’exemple list-deployment-instances suivant affiche les informations sur toutes les instances associées au déploiement spécifié.

aws deploy list-deployment-instances \ --deployment-id d-A1B2C3111 \ --instance-status-filter Succeeded

Sortie :

{ "instancesList": [ "i-EXAMPLE11", "i-EXAMPLE22" ] }
  • Pour plus de détails sur l’API, consultez ListDeploymentInstances dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-deployment-targets.

AWS CLI

Pour récupérer une liste des ID cibles associés à un déploiement

L’exemple list-deployment-targets suivant récupère une liste d’ID cibles associés à des déploiements dont le statut est « Failed » ou « InProgress ».

aws deploy list-deployment-targets \ --deployment-id "d-A1B2C3111" \ --target-filters "{\"TargetStatus\":[\"Failed\",\"InProgress\"]}"

Sortie :

{ "targetIds": [ "i-0f1558aaf90e5f1f9" ] }

Pour plus d’informations, consultez ListDeploymentTargets dans la Référence des API d’AWS CodeDeploy.

  • Pour plus de détails sur l’API, consultez ListDeploymentTargets dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-deployments.

AWS CLI

Pour obtenir les informations sur les déploiements

L’exemple list-deployments suivant affiche les informations sur tous les déploiements associés à l’application et au groupe de déploiement spécifiés.

aws deploy list-deployments \ --application-name WordPress_App \ --create-time-range start=2014-08-19T00:00:00,end=2014-08-20T00:00:00 \ --deployment-group-name WordPress_DG \ --include-only-statuses Failed

Sortie :

{ "deployments": [ "d-EXAMPLE11", "d-EXAMPLE22", "d-EXAMPLE33" ] }
  • Pour plus de détails sur l’API, consultez ListDeployments dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-git-hub-account-token-names.

AWS CLI

Pour répertorier le nom des connexions enregistrées sur des comptes GitHub

L’exemple list-git-hub-account-token-names suivant répertorie le nom des connexions enregistrées sur des comptes GitHub pour l’utilisateur AWS actuel.

aws deploy list-git-hub-account-token-names

Sortie :

{ "tokenNameList": [ "my-first-token", "my-second-token", "my-third-token" ] }

Pour plus d’informations, consultez ListGitHubAccountTokenNames dans la Référence des API d’AWS CodeDeploy.

L’exemple de code suivant montre comment utiliser list-on-premises-instances.

AWS CLI

Pour obtenir les informations sur une ou plusieurs instances sur site

L’exemple list-on-premises-instances suivant récupère une liste des noms d’instances sur site disponibles pour les instances enregistrées dans AWS CodeDeploy et dont la balise d’instance sur site spécifiée est également associée à l’instance dans AWS CodeDeploy.

aws deploy list-on-premises-instances \ --registration-status Registered \ --tag-filters Key=Name,Value=CodeDeployDemo-OnPrem,Type=KEY_AND_VALUE

Sortie :

{ "instanceNames": [ "AssetTag12010298EX" ] }
  • Pour plus de détails sur l’API, consultez ListOnPremisesInstances dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-tags-for-resource.

AWS CLI

Pour répertorier les balises d’une ressource (application)

L’exemple list-tags-for-resource suivant répertorie les balises appliquées à une application nommée testApp dans CodeDeploy.

aws deploy list-tags-for-resource \ --resource-arn arn:aws:codedeploy:us-west-2:111122223333:application:testApp

Sortie :

{ "Tags": [ { "Key": "Type", "Value": "testType" }, { "Key": "Name", "Value": "testName" } ] }

Pour plus d’informations, consultez Ajout de balises aux instances pour les groupes de déploiement dans CodeDeploy dans le Guide de l’utilisateur AWS CodeDeploy.

  • Pour plus de détails sur l’API, consultez ListTagsForResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser push.

AWS CLI

Pour regrouper et déployer une révision d’application compatible avec AWS CodeDeploy sur Amazon S3

L’exemple push suivant regroupe et déploie une révision d’application sur Amazon S3, puis l’associe à l’application spécifiée.

aws deploy push \ --application-name WordPress_App \ --description "This is my deployment" \ --ignore-hidden-files \ --s3-location s3://amzn-s3-demo-bucket/WordPressApp.zip \ --source /tmp/MyLocalDeploymentFolder/

La sortie décrit comment utiliser la commande create-deployment pour créer un déploiement qui utilise la révision d’application chargée.

To deploy with this revision, run: aws deploy create-deployment --application-name WordPress_App --deployment-config-name <deployment-config-name> --deployment-group-name <deployment-group-name> --s3-location bucket=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip,eTag="cecc9b8EXAMPLE50a6e71fdb88EXAMPLE",version=LFsJAUdEXAMPLEfvKtvi79L8EXAMPLE
  • Pour plus de détails sur l’API, consultez Push dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser register-application-revision.

AWS CLI

Pour enregistrer les informations sur une révision d’application déjà chargée

L’exemple register-application-revision suivant enregistre les informations sur une révision d’application déjà chargée et stockée dans Amazon S3 avec AWS CodeDeploy.

aws deploy register-application-revision \ --application-name WordPress_App \ --description "Revised WordPress application" \ --s3-location bucket=amzn-s3-demo-bucket,key=RevisedWordPressApp.zip,bundleType=zip,eTag=cecc9b8a08eac650a6e71fdb88EXAMPLE

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser register-on-premises-instance.

AWS CLI

Pour enregistrer une instance sur site

L’exemple register-on-premises-instancesuivant enregistre une instance sur site auprès d’AWS CodeDeploy. Il ne crée pas l’utilisateur IAM spécifié et n’associe aucune balise d’instance sur site à l’instance enregistrée dans AWS CodeDeploy.

aws deploy register-on-premises-instance \ --instance-name AssetTag12010298EX \ --iam-user-arn arn:aws:iam::80398EXAMPLE:user/CodeDeployDemoUser-OnPrem

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser register.

AWS CLI

Pour enregistrer une instance sur site

L’exemple register suivant enregistre une instance sur site auprès d’AWS CodeDeploy, associe la balise d’instance sur site spécifiée à l’instance enregistrée dans AWS CodeDeploy et crée un fichier de configuration sur site qui peut être copié sur l’instance. Il ne crée pas l’utilisateur IAM ni n’installe l’agent AWS CodeDeploy sur l’instance.

aws deploy register \ --instance-name AssetTag12010298EX \ --iam-user-arn arn:aws:iam::80398EXAMPLE:user/CodeDeployUser-OnPrem \ --tags Key=Name,Value=CodeDeployDemo-OnPrem \ --region us-west-2

Sortie :

Registering the on-premises instance... DONE Adding tags to the on-premises instance... DONE Copy the on-premises configuration file named codedeploy.onpremises.yml to the on-premises instance, and run the following command on the on-premises instance to install and configure the AWS CodeDeploy Agent: aws deploy install --config-file codedeploy.onpremises.yml
  • Pour plus de détails sur l’API, consultez Register dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser remove-tags-from-on-premises-instances.

AWS CLI

Pour supprimer des balises d’une ou plusieurs instances sur site

L’exemple remove-tags-from-on-premises-instances suivant dissocie des instances sur site les balises sur site spécifiées dans AWS CodeDeploy. Il n’annule pas l’enregistrement des instances sur site dans AWS CodeDeploy, ne désinstalle pas l’agent AWS CodeDeploy de l’instance, ne supprime pas le fichier de configuration sur site des instances ni les utilisateurs IAM associés aux instances.

aws deploy remove-tags-from-on-premises-instances \ --instance-names AssetTag12010298EX AssetTag23121309EX \ --tags Key=Name,Value=CodeDeployDemo-OnPrem

Cette commande ne produit aucune sortie.

L’exemple de code suivant montre comment utiliser stop-deployment.

AWS CLI

Pour tenter d’arrêter un déploiement

L’exemple stop-deployment suivant tente d’arrêter un déploiement en cours associé au compte AWS de l’utilisateur.

aws deploy stop-deployment --deployment-id d-A1B2C3111

Sortie :

{ "status": "Succeeded", "statusMessage": "No more commands will be scheduled for execution in the deployment instances" }
  • Pour plus de détails sur l’API, consultez StopDeployment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser tag-resource.

AWS CLI

Pour baliser une ressource (application)

L’exemple tag-resource suivant ajoute deux balises avec les clés Name et Type, et les valeurs testName et testType à une application nommée testApp dans CodeDeploy :

aws deploy tag-resource \ --resource-arn arn:aws:codedeploy:us-west-2:111122223333:application:testApp \ --tags Key=Name,Value=testName Key=Type,Value=testType

Cette commande ne produit aucune sortie si elle réussit.

Pour plus d’informations, consultez Ajout de balises aux instances pour les groupes de déploiement dans CodeDeploy dans le Guide de l’utilisateur AWS CodeDeploy.

  • Pour plus de détails sur l’API, consultez TagResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser uninstall.

AWS CLI

Pour désinstaller une instance sur site

L’exemple uninstall suivant désinstalle l’agent AWS CodeDeploy de l’instance sur site et supprime le fichier de configuration sur site de l’instance. Il n’annule pas l’enregistrement de l’instance dans AWS CodeDeploy, ne dissocie aucune balise d’instance sur site de l’instance dans AWS CodeDeploy, ni ne supprime l’utilisateur IAM associé à l’instance.

aws deploy uninstall

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez Uninstall dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser untag-resource.

AWS CLI

Pour supprimer des balises d’une ressource (application)

L’exemple untag-resource suivant supprime deux balises avec les clés Name et Type d’une application nommée testApp dans CodeDeploy.

aws deploy untag-resource \ --resource-arn arn:aws:codedeploy:us-west-2:111122223333:application:testApp \ --tag-keys Name Type

Cette commande ne produit aucune sortie si elle réussit.

Pour plus d’informations, consultez Ajout de balises aux instances pour les groupes de déploiement dans CodeDeploy dans le Guide de l’utilisateur AWS CodeDeploy.

  • Pour plus de détails sur l’API, consultez UntagResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-application.

AWS CLI

Pour modifier les informations d’une application

L’exemple update-application suivant modifie le nom d’une application associée au compte AWS de l’utilisateur.

aws deploy update-application \ --application-name WordPress_App \ --new-application-name My_WordPress_App

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez UpdateApplication dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-deployment-group.

AWS CLI

Pour modifier les informations d’un groupe de déploiement

L’exemple update-deployment-group suivant modifie les paramètres d’un groupe de déploiement associé à l’application spécifiée.

aws deploy update-deployment-group \ --application-name WordPress_App \ --auto-scaling-groups My_CodeDeployDemo_ASG \ --current-deployment-group-name WordPress_DG \ --deployment-config-name CodeDeployDefault.AllAtOnce \ --ec2-tag-filters Key=Name,Type=KEY_AND_VALUE,Value=My_CodeDeployDemo \ --new-deployment-group-name My_WordPress_DepGroup \ --service-role-arn arn:aws:iam::80398EXAMPLE:role/CodeDeployDemo-2

Cette commande ne produit aucune sortie.

  • Pour plus de détails sur l’API, consultez UpdateDeploymentGroup dans la Référence des commandes de l’AWS CLI.