Esempi di CodeDeploy con AWS CLI - AWS Command Line Interface

Esempi di CodeDeploy con AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con CodeDeploy.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare add-tags-to-on-premises-instances.

AWS CLI

Come aggiungere tag alle istanze on-premises

L’esempio add-tags-to-on-premises-instances seguente associa in AWS CodeDeploy lo stesso tag dell’istanza on-premises a due istanze on-premises. Non registra le istanze on-premises con AWS CodeDeploy.

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

Questo comando non produce alcun output.

L’esempio di codice seguente mostra come utilizzare batch-get-application-revisions.

AWS CLI

Come recuperare le informazioni sulle revisioni di un’applicazione

L’esempio batch-get-application-revisions seguente recupera le informazioni sulla revisione specificata archiviate in un repository GitHub.

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

Output:

{ "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": "" }

Per ulteriori informazioni, consulta BatchGetApplicationRevisions nella documentazione di riferimento delle API AWS CodeDeploy.

L’esempio di codice seguente mostra come utilizzare batch-get-applications.

AWS CLI

Come ottenere informazioni su più applicazioni

L’esempio batch-get-applications seguente visualizza informazioni su più applicazioni associate all’account AWS dell’utente.

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

Output:

{ "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 } ] }
  • Per informazioni dettagliate sull’API, consulta BatchGetApplications in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare batch-get-deployment-groups.

AWS CLI

Come recuperare le informazioni su uno o più gruppi di distribuzione

L’esempio batch-get-deployment-groups seguente recupera le informazioni su due dei gruppi di distribuzione associati all’applicazione CodeDeploy specificata.

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

Output:

{ "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": "" }

Per ulteriori informazioni, consulta BatchGetDeploymentGroups nella documentazione di riferimento delle API AWS CodeDeploy.

L’esempio di codice seguente mostra come utilizzare batch-get-deployment-targets.

AWS CLI

Come recuperare le destinazioni associate a un’implementazione

L’esempio batch-get-deployment-targets seguente restituisce informazioni su una delle destinazioni associate all’implementazione specificata.

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

Output:

{ "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" } } ] }

Per ulteriori informazioni, consulta BatchGetDeploymentTargets nella documentazione di riferimento delle API AWS CodeDeploy.

L’esempio di codice seguente mostra come utilizzare batch-get-deployments.

AWS CLI

Come ottenere informazioni su più implementazioni

L’esempio batch-get-deployments seguente visualizza informazioni su più implementazioni associate all’account AWS dell’utente.

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

Output:

{ "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 } ] }
  • Per informazioni dettagliate sull’API, consulta BatchGetDeployments in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare batch-get-on-premises-instances.

AWS CLI

Come ottenere informazioni su una o più istanze on-premises

L’esempio batch-get-on-premises-instances seguente consente di ottenere informazioni su due istanze on-premises.

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

Output:

{ "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’esempio di codice seguente mostra come utilizzare continue-deployment.

AWS CLI

Come iniziare a reinstradare il traffico senza attendere che il tempo specificato scada

L’esempio continue-deployment seguente inizia a reinstradare il traffico dalle istanze nell’ambiente originale pronte per iniziare a spostare il traffico verso le istanze nell’ambiente sostitutivo.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta ContinueDeployment nella documentazione di riferimento delle API AWS CodeDeploy.

  • Per informazioni dettagliate sull’API, consulta ContinueDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-application.

AWS CLI

Come creare un’applicazione

L’esempio create-application seguente crea un’applicazione e la associa all’account AWS dell’utente.

aws deploy create-application --application-name MyOther_App

Output:

{ "applicationId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" }
  • Per informazioni dettagliate sull’API, consulta CreateApplication in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-deployment-config.

AWS CLI

Come creare una configurazione di implementazione personalizzata

L’esempio create-deployment-config seguente crea una configurazione di implementazione personalizzata e la associa all’account AWS dell’utente.

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

Output:

{ "deploymentConfigId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" }

L’esempio di codice seguente mostra come utilizzare create-deployment-group.

AWS CLI

Come creare un gruppo di distribuzione

L’esempio create-deployment-group seguente crea un gruppo di distribuzione e lo associa all’applicazione specificata e all’account AWS dell’utente.

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

Output:

{ "deploymentGroupId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" }

L’esempio di codice seguente mostra come utilizzare create-deployment.

AWS CLI

Esempio 1: creare un’implementazione di CodeDeploy utilizzando la piattaforma di calcolo EC2/on-premises

L’esempio create-deployment seguente crea un’implementazione e la associa all’account AWS dell’utente.

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

Output:

{ "deploymentId": "d-A1B2C3111" }

Esempio 2: creare un’implementazione di CodeDeploy utilizzando la piattaforma di calcolo Amazon ECS

L’esempio create-deployment seguente utilizza i due file seguenti per implementare un servizio Amazon ECS.

Contenuto del file create-deployment.json:

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

A sua volta, questo file recupera il file appspec.yaml seguente da un bucket S3 denominato 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"

Comando:

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

Output:

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

Per ulteriori informazioni, consulta CreateDeployment nella documentazione di riferimento delle API AWS CodeDeploy.

  • Per informazioni dettagliate sull’API, consulta CreateDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-application.

AWS CLI

Come eliminare un’applicazione

L’esempio delete-application seguente elimina l’applicazione specificata associata all’account AWS dell’utente.

aws deploy delete-application --application-name WordPress_App

Questo comando non produce alcun output.

  • Per informazioni dettagliate sull’API, consulta DeleteApplication in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-deployment-config.

AWS CLI

Come eliminare una configurazione di implementazione

L’esempio delete-deployment-config seguente elimina una configurazione di implementazione personalizzata associata all’account AWS dell’utente.

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

Questo comando non produce alcun output.

L’esempio di codice seguente mostra come utilizzare delete-deployment-group.

AWS CLI

Come eliminare un gruppo di distribuzione

L’esempio delete-deployment-group seguente elimina un gruppo di distribuzione associato all’applicazione specificata.

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

Output:

{ "hooksNotCleanedUp": [] }

L’esempio di codice seguente mostra come utilizzare delete-git-hub-account-token.

AWS CLI

Come eliminare il collegamento all’account GitHub

L’esempio delete-git-hub-account-token seguente elimina il collegamento all’account GitHub specificato.

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

Output:

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

Per ulteriori informazioni, consulta DeleteGitHubAccountToken nella documentazione di riferimento delle API AWS CodeDeploy.

L’esempio di codice seguente mostra come utilizzare deregister-on-premises-instance.

AWS CLI

Come annullare la registrazione di un’istanza on-premises

L’esempio deregister-on-premises-instance seguente annulla la registrazione di un’istanza on-premises con AWS CodeDeploy, ma non elimina l’utente IAM associato all’istanza, né annulla l’associazione in AWS CodeDeploy tra i tag dell’istanza on-premises e l’istanza stessa. Inoltre, non disinstalla l’agente di AWS CodeDeploy dall’istanza né rimuove il file di configurazione on-premises dall’istanza stessa.

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

Questo comando non produce alcun output.

L’esempio di codice seguente mostra come utilizzare deregister.

AWS CLI

Come annullare la registrazione di un’istanza on-premises

L’esempio deregister seguente annulla la registrazione di un’istanza on-premises con AWS CodeDeploy. Non elimina l’utente IAM associato all’istanza. In AWS CodeDeploy, annulla l’associazione tra i tag on-premises e l’istanza. Non disinstalla l’agente di AWS CodeDeploy dall’istanza né rimuove il file di configurazione on-premises dall’istanza stessa.

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

Output:

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
  • Per informazioni dettagliate sull’API, consulta Deregister in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-application-revision.

AWS CLI

Come ottenere informazioni sulla revisione di un’applicazione

L’esempio get-application-revision seguente visualizza le informazioni su una revisione dell’applicazione associata all’applicazione specificata.

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

Output:

{ "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" } } }

L’esempio di codice seguente mostra come utilizzare get-application.

AWS CLI

Come ottenere informazioni su un’applicazione

L’esempio get-application seguente visualizza le informazioni su un’applicazione associata all’account AWS dell’utente.

aws deploy get-application --application-name WordPress_App

Output:

{ "application": { "applicationName": "WordPress_App", "applicationId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "createTime": 1407878168.078, "linkedToGitHub": false } }
  • Per informazioni dettagliate sull’API, consulta GetApplication in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-deployment-config.

AWS CLI

Come ottenere informazioni su una configurazione di implementazione

L’esempio get-deployment-config seguente visualizza le informazioni su una configurazione di implementazione associata all’account AWS dell’utente.

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

Output:

{ "deploymentConfigInfo": { "deploymentConfigId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "minimumHealthyHosts": { "type": "FLEET_PERCENT", "value": 75 }, "createTime": 1411081164.379, "deploymentConfigName": "ThreeQuartersHealthy" } }
  • Per informazioni dettagliate sull’API, consulta GetDeploymentConfig in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-deployment-group.

AWS CLI

Come visualizzare le informazioni su un gruppo di distribuzione

L’esempio get-deployment-group seguente visualizza le informazioni su un gruppo di distribuzione associato all’applicazione specificata.

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

Output:

{ "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" } }
  • Per informazioni dettagliate sull’API, consulta GetDeploymentGroup in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-deployment-instance.

AWS CLI

Come ottenere informazioni su un’istanza di implementazione

L’esempio get-deployment-instance seguente visualizza le informazioni su un’istanza di implementazione associata all’implementazione specificata.

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

Output:

{ "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" } }

L’esempio di codice seguente mostra come utilizzare get-deployment-target.

AWS CLI

Come restituire informazioni su una destinazione di implementazione

L’esempio get-deployment-target seguente restituisce le informazioni su una destinazione di implementazione associata all’implementazione specificata.

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

Output:

{ "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" } } }

Per ulteriori informazioni, consulta GetDeploymentTarget nella documentazione di riferimento delle API AWS CodeDeploy.

  • Per informazioni dettagliate sull’API, consulta GetDeploymentTarget in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-deployment.

AWS CLI

Come ottenere informazioni su un’implementazione

L’esempio get-deployment seguente visualizza le informazioni su un’implementazione associata all’account AWS dell’utente.

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

Output:

{ "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 } }
  • Per informazioni dettagliate sull’API, consulta GetDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-on-premises-instance.

AWS CLI

Come ottenere informazioni su un’istanza on-premises

L’esempio get-on-premises-instance seguente recupera le informazioni sull’istanza on-premises specificata.

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

Output:

{ "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" } }

L’esempio di codice seguente mostra come utilizzare install.

AWS CLI

Come installare un’istanza on-premises

L’esempio install seguente copia il file di configurazione on-premises dal percorso specificato sull’istanza al percorso sull’istanza che l’agente di AWS CodeDeploy si aspetta di trovare. Installa anche l’agente di AWS CodeDeploy sull’istanza. Non crea alcun utente IAM né registra l’istanza on-premises con AWS CodeDeploy o associa alcun tag di istanza on-premises in AWS CodeDeploy per l’istanza stessa.

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

Output:

Creating the on-premises instance configuration file... DONE Installing the AWS CodeDeploy Agent... DONE
  • Per informazioni dettagliate sull’API, consulta Install in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-application-revisions.

AWS CLI

Come ottenere informazioni sulle revisioni dell’applicazione

L’esempio list-application-revisions seguente visualizza le informazioni su tutte le revisioni dell’applicazione associate all’applicazione specificata.

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

Output:

{ "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" } } ] }

L’esempio di codice seguente mostra come utilizzare list-applications.

AWS CLI

Come ottenere informazioni sulle applicazioni

L’esempio list-applications seguente visualizza le informazioni su tutte le applicazioni associate all’account AWS dell’utente.

aws deploy list-applications

Output:

{ "applications": [ "WordPress_App", "MyOther_App" ] }
  • Per informazioni dettagliate sull’API, consulta ListApplications in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-deployment-configs.

AWS CLI

Come ottenere informazioni sulle configurazioni di implementazione

L’esempio list-deployment-configs seguente visualizza le informazioni su tutte le configurazioni di implementazione associate all’account AWS dell’utente.

aws deploy list-deployment-configs

Output:

{ "deploymentConfigsList": [ "ThreeQuartersHealthy", "CodeDeployDefault.AllAtOnce", "CodeDeployDefault.HalfAtATime", "CodeDeployDefault.OneAtATime" ] }

L’esempio di codice seguente mostra come utilizzare list-deployment-groups.

AWS CLI

Come ottenere informazioni sui gruppi di distribuzione

L’esempio list-deployment-groups seguente visualizza le informazioni su tutti i gruppi di distribuzione associati all’applicazione specificata.

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

Output:

{ "applicationName": "WordPress_App", "deploymentGroups": [ "WordPress_DG", "WordPress_Beta_DG" ] }
  • Per informazioni dettagliate sull’API, consulta ListDeploymentGroups in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-deployment-instances.

AWS CLI

Come ottenere informazioni sulle istanze di implementazione

L’esempio list-deployment-instances seguente visualizza le informazioni su tutte le istanze di implementazione associate all’implementazione specificata.

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

Output:

{ "instancesList": [ "i-EXAMPLE11", "i-EXAMPLE22" ] }

L’esempio di codice seguente mostra come utilizzare list-deployment-targets.

AWS CLI

Come recuperare un elenco di ID di destinazione associati a un’implementazione

L’esempio list-deployment-targets seguente recupera un elenco di ID di destinazione associati alle implementazioni non riuscite o in corso.

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

Output:

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

Per ulteriori informazioni, consulta ListDeploymentTargets nella documentazione di riferimento delle API AWS CodeDeploy.

L’esempio di codice seguente mostra come utilizzare list-deployments.

AWS CLI

Come ottenere informazioni sulle implementazioni

L’esempio list-deployments seguente visualizza le informazioni su tutte le implementazioni associate all’applicazione e al gruppo di distribuzione specificati.

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

Output:

{ "deployments": [ "d-EXAMPLE11", "d-EXAMPLE22", "d-EXAMPLE33" ] }
  • Per informazioni dettagliate sull’API, consulta ListDeployments in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-git-hub-account-token-names.

AWS CLI

Come elencare i nomi delle connessioni archiviate agli account GitHub

L’esempio list-git-hub-account-token-names seguente elenca i nomi delle connessioni archiviate agli account GitHub per l’utente AWS corrente.

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

Output:

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

Per ulteriori informazioni, consulta ListGitHubAccountTokenNames nella documentazione di riferimento delle API AWS CodeDeploy.

L’esempio di codice seguente mostra come utilizzare list-on-premises-instances.

AWS CLI

Come ottenere informazioni su una o più istanze on-premises

L’esempio list-on-premises-instances seguente recupera un elenco dei nomi delle istanze on-premises disponibili per le istanze registrate in AWS CodeDeploy che hanno anche il tag dell’istanza on-premises specificato associato all’istanza in AWS CodeDeploy.

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

Output:

{ "instanceNames": [ "AssetTag12010298EX" ] }

L’esempio di codice seguente mostra come utilizzare list-tags-for-resource.

AWS CLI

Come elencare i tag per una risorsa (applicazione)

L’esempio list-tags-for-resource seguente elenca i tag applicati a un’applicazione denominata testApp in CodeDeploy.

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

Output:

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

Per ulteriori informazioni, consulta Tagging instances for deployment groups in CodeDeploy nella Guida per l’utente di AWS CodeDeploy.

  • Per informazioni dettagliate sull’API, consulta ListTagsForResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare push.

AWS CLI

Come raggruppare e implementare una revisione dell’applicazione compatibile con AWS CodeDeploy in Amazon S3

L’esempio push seguente raggruppa e implementa una revisione dell’applicazione in Amazon S3 e associa la revisione all’applicazione specificata.

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/

L’output descrive come usare il comando create-deployment per creare un’implementazione che utilizza la revisione dell’applicazione caricata.

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
  • Per informazioni dettagliate sull’API, consulta Push in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare register-application-revision.

AWS CLI

Come registrare informazioni su una revisione dell’applicazione già caricata

L’esempio register-application-revision seguente registra le informazioni su una revisione dell’applicazione già caricata archiviata in Amazon S3 con 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

Questo comando non produce alcun output.

L’esempio di codice seguente mostra come utilizzare register-on-premises-instance.

AWS CLI

Come registrare un’istanza on-premises

L’esempio register-on-premises-instance seguente registra un’istanza on-premises con AWS CodeDeploy. Non crea l’utente IAM specificato né associa in AWS CodeDeploy eventuali tag delle istanze on-premises con l’istanza registrata.

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

Questo comando non produce alcun output.

L’esempio di codice seguente mostra come utilizzare register.

AWS CLI

Come registrare un’istanza on-premises

L’esempio register seguente registra un’istanza on-premises con AWS CodeDeploy, associa in AWS CodeDeploy il tag dell’istanza on-premises specificato all’istanza registrata e crea un file di configurazione on-premises che può essere copiato nell’istanza. Non crea l’utente IAM né installa l’agente di AWS CodeDeploy sull’istanza.

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

Output:

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
  • Per informazioni dettagliate sull’API, consulta Register in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare remove-tags-from-on-premises-instances.

AWS CLI

Come rimuovere i tag da una o più istanze on-premises

L’esempio remove-tags-from-on-premises-instances seguente annulla l’associazione tra i tag on-premises specificati in AWS CodeDeploy e le istanze on-premises. Non annulla la registrazione delle istanze on-premises in AWS CodeDeploy né disinstalla l’agente di AWS CodeDeploy dall’istanza, rimuove il file di configurazione on-premises dalle istanze o elimina gli utenti IAM associati alle istanze.

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

Questo comando non produce alcun output.

L’esempio di codice seguente mostra come utilizzare stop-deployment.

AWS CLI

Come tentare di arrestare un’implementazione

L’esempio stop-deployment seguente prova ad arrestare un’implementazione in corso associata all’account AWS dell’utente.

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

Output:

{ "status": "Succeeded", "statusMessage": "No more commands will be scheduled for execution in the deployment instances" }
  • Per informazioni dettagliate sull’API, consulta StopDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare tag-resource.

AWS CLI

Come taggare una risorsa (applicazione)

L’esempio tag-resource seguente aggiunge due tag con le chiavi Name e Type e i valori testName e testType a un’applicazione denominata testApp in 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

Se il comando ha esito positivo, non produce alcun output.

Per ulteriori informazioni, consulta Tagging instances for deployment groups in CodeDeploy nella Guida per l’utente di AWS CodeDeploy.

  • Per informazioni dettagliate sull’API, consulta TagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare uninstall.

AWS CLI

Come disinstallare un’istanza on-premises

L’esempio uninstall seguente disinstalla l’agente di AWS CodeDeploy dall’istanza on-premises e rimuove il file di configurazione on-premises dall’istanza. Non annulla la registrazione di un’istanza in AWS CodeDeploy né disassocia alcun tag dell’istanza on-premises in AWS CodeDeploy dall’istanza o elimina l’utente IAM associato all’istanza stessa.

aws deploy uninstall

Questo comando non produce alcun output.

  • Per informazioni dettagliate sull’API, consulta Uninstall in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare untag-resource.

AWS CLI

Come rimuovere tag da una risorsa (applicazione)

L’esempio untag-resource seguente rimuove due tag con le chiavi Name e Type da un’applicazione denominata testApp in CodeDeploy.

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

Se il comando ha esito positivo, non produce alcun output.

Per ulteriori informazioni, consulta Tagging instances for deployment groups in CodeDeploy nella Guida per l’utente di AWS CodeDeploy.

  • Per informazioni dettagliate sull’API, consulta UntagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-application.

AWS CLI

Come modificare i dettagli di un’applicazione

L’esempio update-application seguente modifica il nome di un’applicazione associata all’account AWS dell’utente.

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

Questo comando non produce alcun output.

  • Per informazioni dettagliate sull’API, consulta UpdateApplication in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-deployment-group.

AWS CLI

Come modificare le informazioni su un gruppo di distribuzione

L’esempio update-deployment-group seguente modifica le impostazioni di un gruppo di distribuzione associato all’applicazione specificata.

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

Questo comando non produce alcun output.