CodeDeploy esempi utilizzando AWS CLI - AWS Command Line Interface

Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CodeDeploy esempi utilizzando AWS CLI

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

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

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareadd-tags-to-on-premises-instances.

AWS CLI

Come aggiungere tag a istanze on-premises

L'add-tags-to-on-premises-instancesesempio seguente associa lo AWS CodeDeploy stesso tag di istanza locale a due istanze locali. Non registra le istanze locali 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.

Il seguente esempio di codice mostra come utilizzarebatch-get-application-revisions.

AWS CLI

Come recuperare le informazioni sulle revisioni di un’applicazione

L'batch-get-application-revisionsesempio seguente recupera le informazioni sulla revisione specificata memorizzata in un GitHub repository.

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 dell’API AWS CodeDeploy .

Il seguente esempio di codice mostra come utilizzarebatch-get-applications.

AWS CLI

Come ottenere informazioni su più applicazioni

L'batch-get-applicationsesempio seguente visualizza informazioni su più applicazioni associate all' AWS account 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 } ] }

Il seguente esempio di codice mostra come utilizzarebatch-get-deployment-groups.

AWS CLI

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

L'batch-get-deployment-groupsesempio seguente recupera informazioni su due gruppi di distribuzione associati all' CodeDeploy applicazione 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 dell’API AWS CodeDeploy .

Il seguente esempio di codice mostra come utilizzarebatch-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 dell’API AWS CodeDeploy .

Il seguente esempio di codice mostra come utilizzarebatch-get-deployments.

AWS CLI

Come ottenere informazioni su più implementazioni

L'batch-get-deploymentsesempio seguente visualizza informazioni su più distribuzioni associate all'account dell' AWS 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 } ] }

Il seguente esempio di codice mostra come utilizzarebatch-get-on-premises-instances.

AWS CLI

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

L’esempio batch-get-on-premises-instances seguente ottiene 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" } ] }

Il seguente esempio di codice mostra come utilizzarecontinue-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 dell’API AWS CodeDeploy .

Il seguente esempio di codice mostra come utilizzarecreate-application.

AWS CLI

Come creare un’applicazione

L'create-applicationesempio seguente crea un'applicazione e la associa all' AWS account dell'utente.

aws deploy create-application --application-name MyOther_App

Output:

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

Il seguente esempio di codice mostra come utilizzarecreate-deployment-config.

AWS CLI

Come creare una configurazione di implementazione personalizzata

L'create-deployment-configesempio seguente crea una configurazione di distribuzione personalizzata e la associa all' AWS account 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" }

Il seguente esempio di codice mostra come utilizzarecreate-deployment-group.

AWS CLI

Come creare un gruppo di distribuzione

L'create-deployment-groupesempio seguente crea un gruppo di distribuzione e lo associa all'applicazione specificata e all' AWS account 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" }

Il seguente esempio di codice mostra come utilizzarecreate-deployment.

AWS CLI

Esempio 1: creare una CodeDeploy distribuzione utilizzando la piattaforma di calcolo EC2 /On-premise

L'create-deploymentesempio seguente crea una distribuzione e la associa all'account dell'utente. AWS

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 una CodeDeploy distribuzione utilizzando la piattaforma di calcolo Amazon ECS

L’esempio create-deployment seguente utilizza i due file seguenti per distribuire 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 dell’API AWS CodeDeploy .

Il seguente esempio di codice mostra come utilizzaredelete-application.

AWS CLI

Come eliminare un’applicazione

L'delete-applicationesempio seguente elimina l'applicazione specificata associata all' AWS account dell'utente.

aws deploy delete-application --application-name WordPress_App

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzaredelete-deployment-config.

AWS CLI

Come eliminare una configurazione di implementazione

L'delete-deployment-configesempio seguente elimina una configurazione di distribuzione personalizzata associata all' AWS account dell'utente.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzaredelete-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": [] }

Il seguente esempio di codice mostra come utilizzaredelete-git-hub-account-token.

AWS CLI

To elimina la connessione di un GitHub account

L'delete-git-hub-account-tokenesempio seguente elimina la connessione dell'account specificato GitHub .

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 dell’API AWS CodeDeploy .

Il seguente esempio di codice mostra come utilizzarederegister-on-premises-instance.

AWS CLI

Come annullare la registrazione di un’istanza on-premises

L'deregister-on-premises-instanceesempio seguente annulla la registrazione di un'istanza locale con AWS CodeDeploy, ma non elimina l'utente IAM associato all'istanza, né si dissocia nei tag dell'istanza locale AWS CodeDeploy dall'istanza. Inoltre, non disinstalla l' AWS CodeDeploy agente dall'istanza né rimuove il file di configurazione locale dall'istanza.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzarederegister.

AWS CLI

Come annullare la registrazione di un’istanza on-premises

L'deregisteresempio seguente annulla la registrazione di un'istanza locale con. AWS CodeDeploy Non elimina l’utente IAM associato all’istanza. Nei tag locali si dissocia AWS CodeDeploy dall'istanza. Non disinstalla l' AWS CodeDeploy agente dall'istanza né rimuove il file di configurazione locale dall'istanza.

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.

Il seguente esempio di codice mostra come utilizzareget-application-revision.

AWS CLI

Come ottenere informazioni su una revisione di un’applicazione

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

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

Il seguente esempio di codice mostra come utilizzareget-application.

AWS CLI

Come ottenere informazioni su un’applicazione

L'get-applicationesempio seguente visualizza informazioni su un'applicazione associata all' AWS account 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 } }

Il seguente esempio di codice mostra come utilizzareget-deployment-config.

AWS CLI

Come ottenere informazioni su una configurazione di implementazione

L'get-deployment-configesempio seguente visualizza informazioni su una configurazione di distribuzione associata all' AWS account 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" } }

Il seguente esempio di codice mostra come utilizzareget-deployment-group.

AWS CLI

Come visualizzare le informazioni sui gruppi di distribuzione

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

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

Il seguente esempio di codice mostra come utilizzareget-deployment-instance.

AWS CLI

Come ottenere informazioni su un’istanza dell’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" } }

Il seguente esempio di codice mostra come utilizzareget-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 dell’API AWS CodeDeploy .

Il seguente esempio di codice mostra come utilizzareget-deployment.

AWS CLI

Come ottenere informazioni su un’implementazione

L'get-deploymentesempio seguente visualizza informazioni su una distribuzione associata all' AWS account 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 } }

Il seguente esempio di codice mostra come utilizzareget-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" } }

Il seguente esempio di codice mostra come utilizzareinstall.

AWS CLI

Come installare un’istanza on-premises

L'installesempio seguente copia il file di configurazione locale dalla posizione specificata sull'istanza alla posizione sull'istanza in cui l' AWS CodeDeploy agente si aspetta di trovarlo. Inoltre, installa l' AWS CodeDeploy agente sull'istanza. Non crea alcun utente IAM, né registra l'istanza locale né associa alcun tag di istanza locale all' AWS CodeDeploy istanza. AWS CodeDeploy

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.

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

AWS CLI

Come ottenere informazioni sulle revisioni di un’applicazione

L’esempio list-application-revisions seguente visualizza le informazioni su tutte le revisioni 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" } } ] }

Il seguente esempio di codice mostra come utilizzarelist-applications.

AWS CLI

Come ottenere informazioni sulle applicazione

L'list-applicationsesempio seguente visualizza informazioni su tutte le applicazioni associate all' AWS account dell'utente.

aws deploy list-applications

Output:

{ "applications": [ "WordPress_App", "MyOther_App" ] }

Il seguente esempio di codice mostra come utilizzarelist-deployment-configs.

AWS CLI

Come ottenere informazioni sulle configurazioni di implementazione

L'list-deployment-configsesempio seguente visualizza informazioni su tutte le configurazioni di distribuzione associate all' AWS account dell'utente.

aws deploy list-deployment-configs

Output:

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

Il seguente esempio di codice mostra come utilizzarelist-deployment-groups.

AWS CLI

Come ottenere informazioni sui gruppi di distribuzione

L’esempio list-deployment-groups seguente visualizza le informazioni sui gruppi di distribuzione associati all’account specificato.

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

Output:

{ "applicationName": "WordPress_App", "deploymentGroups": [ "WordPress_DG", "WordPress_Beta_DG" ] }

Il seguente esempio di codice mostra come utilizzarelist-deployment-instances.

AWS CLI

Come ottenere informazioni sulle istanze dell’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" ] }

Il seguente esempio di codice mostra come utilizzarelist-deployment-targets.

AWS CLI

Per recuperare un elenco di destinazioni IDs associate a una distribuzione

L'list-deployment-targetsesempio seguente recupera un elenco di oggetti IDs associati a distribuzioni con lo stato «Failed» o "». InProgress

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 dell’API AWS CodeDeploy .

Il seguente esempio di codice mostra come utilizzarelist-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" ] }

Il seguente esempio di codice mostra come utilizzarelist-git-hub-account-token-names.

AWS CLI

Elenca i nomi delle connessioni memorizzate agli GitHub account

L'list-git-hub-account-token-namesesempio seguente elenca i nomi delle connessioni memorizzate agli GitHub account AWS dell'utente 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 dell’API AWS CodeDeploy .

Il seguente esempio di codice mostra come utilizzarelist-on-premises-instances.

AWS CLI

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

L'list-on-premises-instancesesempio seguente recupera un elenco di nomi di istanze locali disponibili per le istanze registrate in AWS CodeDeploy e a cui è associato anche il tag di istanza locale specificato. 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" ] }

Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.

AWS CLI

Come elencare i tag per una risorsa (applicazione)

L'list-tags-for-resourceesempio 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 la sezione Tagging delle istanze per i gruppi di distribuzione CodeDeploy nella Guida per l'AWS CodeDeploy utente.

Il seguente esempio di codice mostra come utilizzarepush.

AWS CLI

Per raggruppare e distribuire una revisione dell'applicazione AWS CodeDeploy compatibile su 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.

Il seguente esempio di codice mostra come usare. register-application-revision

AWS CLI

Come registrare le informazioni su una revisione di un’applicazione già caricata

L'register-application-revisionesempio seguente registra le informazioni su una revisione di un'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.

Il seguente esempio di codice mostra come utilizzareregister-on-premises-instance.

AWS CLI

Come registrare un’istanza on-premises

L'register-on-premises-instanceesempio seguente registra un'istanza locale con. AWS CodeDeploy Non crea l'utente IAM specificato, né associa in AWS CodeDeploy nessuna istanza locale i tag all'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.

Il seguente esempio di codice mostra come utilizzareregister.

AWS CLI

Come registrare un’istanza on-premises

L'registeresempio seguente registra un'istanza locale con AWS CodeDeploy, la associa AWS CodeDeploy all'istanza registrata nel tag di istanza locale specificato e crea un file di configurazione locale che può essere copiato nell'istanza. Non crea l'utente IAM né installa l'agente sull'istanza. AWS CodeDeploy

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.

Il seguente esempio di codice mostra come utilizzareremove-tags-from-on-premises-instances.

AWS CLI

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

L'remove-tags-from-on-premises-instancesesempio seguente dissocia i tag locali specificati AWS CodeDeploy dalle istanze locali. Non annulla la registrazione delle istanze locali né disinstalla l' AWS CodeDeploy agente dall'istanza AWS CodeDeploy, né rimuove il file di configurazione locale dalle istanze, né 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.

Il seguente esempio di codice mostra come utilizzarestop-deployment.

AWS CLI

Come tentare di arrestare un’implementazione

L'stop-deploymentesempio seguente tenta di interrompere una distribuzione in corso associata all' AWS account 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" }

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Come taggare una risorsa (applicazione)

L'tag-resourceesempio 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 la sezione Tagging delle istanze per i gruppi di distribuzione CodeDeploy nella Guida per l'AWS CodeDeploy utente.

  • Per i dettagli sull'API, consulta AWS CLI Command TagResourceReference.

Il seguente esempio di codice mostra come utilizzareuninstall.

AWS CLI

Come disinstallare un’istanza on-premises

L'uninstallesempio seguente disinstalla l' AWS CodeDeploy agente dall'istanza locale e rimuove il file di configurazione locale dall'istanza. Non annulla la registrazione dell'istanza AWS CodeDeploy, né dissocia i tag dell'istanza locale AWS CodeDeploy dall'istanza, né elimina l'utente IAM associato all'istanza.

aws deploy uninstall

Questo comando non produce alcun output.

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

Il seguente esempio di codice mostra come utilizzare. untag-resource

AWS CLI

Come rimuovere i tag da una risorsa (applicazione)

L'untag-resourceesempio 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 group CodeDeploy nella Guida per l'AWS CodeDeploy utente.

  • Per i dettagli sull'API, consulta AWS CLI Command UntagResourceReference.

Il seguente esempio di codice mostra come utilizzareupdate-application.

AWS CLI

Come modificare i dettagli di un’applicazione

L'update-applicationesempio seguente modifica il nome di un'applicazione associata all' AWS account dell'utente.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzareupdate-deployment-group.

AWS CLI

Come visualizzare le informazioni su un gruppo di distribuzione

L’esempio update-deployment-group seguente modifica le impostazione 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.