CodeDeploy esempi utilizzando AWS CLI - AWS Command Line Interface

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 operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Mentre le azioni mostrano come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare 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

Per aggiungere tag alle istanze locali

L'add-tags-to-on-premises-instancesesempio seguente associa lo stesso tag AWS CodeDeploy 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

Per recuperare informazioni sulle revisioni delle applicazioni

L'batch-get-application-revisionsesempio seguente recupera le informazioni sulla revisione specificata memorizzate 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, vedere BatchGetApplicationRevisionsnella sezione Reference.AWS CodeDeploy API

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

AWS CLI

Per 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

Per recuperare informazioni su uno o più gruppi di distribuzione

L'batch-get-deployment-groupsesempio seguente recupera informazioni su due gruppi di distribuzione associati all'applicazione specificata CodeDeploy .

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, vedere BatchGetDeploymentGroupsnella Guida di AWS CodeDeploy APIriferimento.

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

AWS CLI

Per recuperare le destinazioni associate a una distribuzione

L'batch-get-deployment-targetsesempio seguente restituisce informazioni su una delle destinazioni associate alla distribuzione 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, vedere BatchGetDeploymentTargetsnella sezione AWS CodeDeploy APIReference.

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

AWS CLI

Per ottenere informazioni su più distribuzioni

L'batch-get-deploymentsesempio seguente visualizza informazioni su più distribuzioni associate all'account dell'utente. AWS

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": "CodeDeployDemoBucket", "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": "CodeDeployDemoBucket", "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

Per ottenere informazioni su una o più istanze locali

L'batch-get-on-premises-instancesesempio seguente ottiene informazioni su due istanze locali.

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

Per iniziare a reindirizzare il traffico senza attendere che scada il tempo di attesa specificato.

L'continue-deploymentesempio seguente inizia a reindirizzare il traffico dalle istanze dell'ambiente originale che sono 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, vedere nella Guida di riferimento. ContinueDeploymentAWS CodeDeploy API

Il seguente esempio di codice mostra come utilizzarecreate-application.

AWS CLI

Per 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

Per creare una configurazione di distribuzione 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

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

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=CodeDeployDemoBucket,bundleType=zip,eTag=dd56cfdEXAMPLE8e768f9d77fEXAMPLE,key=WordPressApp.zip

Output:

{ "deploymentId": "d-A1B2C3111" }

Esempio 2: creare una CodeDeploy distribuzione utilizzando la piattaforma di ECS calcolo Amazon

L'create-deploymentesempio seguente utilizza i due file seguenti per distribuire un ECS servizio Amazon.

Contenuto del create-deployment.json file:

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

Quel file, a sua volta, recupera il seguente file appspec.yaml da un bucket S3 chiamato. 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 la sezione Reference CreateDeployment.AWS CodeDeploy API

Il seguente esempio di codice mostra come utilizzaredelete-application.

AWS CLI

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

Per eliminare una configurazione di distribuzione

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

Per eliminare un gruppo di distribuzione

L'delete-deployment-groupesempio 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, vedere DeleteGitHubAccountTokennel AWS CodeDeploy APIReference.

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

AWS CLI

Per annullare la registrazione di un'istanza locale

L'deregister-on-premises-instanceesempio seguente annulla la registrazione di un'istanza locale con AWS CodeDeploy, ma non elimina l'IAMutente associato all'istanza, né si dissocia nei AWS CodeDeploy tag dell'istanza locale 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

Per annullare la registrazione di un'istanza locale

L'deregisteresempio seguente annulla la registrazione di un'istanza locale con. AWS CodeDeploy Non elimina l'IAMutente 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

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

AWS CLI

Per ottenere informazioni sulla revisione di un'applicazione

L'get-application-revisionesempio seguente visualizza informazioni sulla revisione di un'applicazione associata all'applicazione specificata.

aws deploy get-application-revision \ --application-name WordPress_App \ --s3-location bucket=CodeDeployDemoBucket,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": "CodeDeployDemoBucket", "key": "WordPressApp.zip" } } }

Il seguente esempio di codice mostra come utilizzareget-application.

AWS CLI

Per 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 } }
  • Per API i dettagli, vedere GetApplicationin AWS CLI Command Reference.

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

AWS CLI

Per ottenere informazioni su una configurazione di distribuzione

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

Per visualizzare informazioni su un gruppo di distribuzione

L'get-deployment-groupesempio seguente visualizza 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" } }

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

AWS CLI

Per ottenere informazioni su un'istanza di distribuzione

L'get-deployment-instanceesempio seguente visualizza informazioni su un'istanza di distribuzione associata alla distribuzione 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

Per restituire informazioni su un obiettivo di distribuzione

L'get-deployment-targetesempio seguente restituisce informazioni su un obiettivo di distribuzione associato alla distribuzione 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, vedere GetDeploymentTargetnella Guida di AWS CodeDeploy APIriferimento.

Il seguente esempio di codice mostra come utilizzareget-deployment.

AWS CLI

Per ottenere informazioni su una distribuzione

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": "CodeDeployDemoBucket", "key": "WordPressApp.zip" } }, "deploymentId": "d-A1B2C3123", "deploymentGroupName": "WordPress_DG", "createTime": 1409764576.589, "completeTime": 1409764596.101, "ignoreApplicationStopFailures": false } }
  • Per API i dettagli, vedere GetDeploymentin AWS CLI Command Reference.

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

AWS CLI

Per ottenere informazioni su un'istanza locale

L'get-on-premises-instanceesempio seguente recupera informazioni sull'istanza locale 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

Per installare un'istanza locale

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 IAM utente, 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 API i dettagli, consulta Install in AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarelist-application-revisions.

AWS CLI

Per ottenere informazioni sulle revisioni delle applicazioni

L'list-application-revisionsesempio seguente visualizza informazioni su tutte le revisioni dell'applicazione associate all'applicazione specificata.

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

Output:

{ "revisions": [ { "revisionType": "S3", "s3Location": { "version": "uTecLusvCB_JqHFXtfUcyfV8bEXAMPLE", "bucket": "CodeDeployDemoBucket", "key": "WordPress_App.zip", "bundleType": "zip" } }, { "revisionType": "S3", "s3Location": { "version": "tMk.UxgDpMEVb7V187ZM6wVAWEXAMPLE", "bucket": "CodeDeployDemoBucket", "key": "WordPress_App_2-0.zip", "bundleType": "zip" } } ] }

Il seguente esempio di codice mostra come utilizzarelist-applications.

AWS CLI

Per ottenere informazioni sulle applicazioni

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

Per ottenere informazioni sulle configurazioni di distribuzione

L'list-deployment-configsesempio seguente visualizza informazioni su tutte le configurazioni di distribuzione associate all'account dell' AWS 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

Per ottenere informazioni sui gruppi di distribuzione

L'list-deployment-groupsesempio seguente visualizza 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" ] }

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

AWS CLI

Per ottenere informazioni sulle istanze di distribuzione

L'list-deployment-instancesesempio seguente visualizza informazioni su tutte le istanze di distribuzione associate alla distribuzione 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, vedere ListDeploymentTargetsnella Guida di riferimento.AWS CodeDeploy API

Il seguente esempio di codice mostra come utilizzarelist-deployments.

AWS CLI

Per ottenere informazioni sulle distribuzioni

L'list-deploymentsesempio seguente visualizza informazioni su tutte le distribuzioni 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, vedere ListGitHubAccountTokenNamesnel AWS CodeDeploy APIReference.

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

AWS CLI

Per ottenere informazioni su una o più istanze locali

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

Per elencare i tag di 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'pushesempio seguente raggruppa e distribuisce una revisione dell'applicazione in Amazon S3 e quindi associa la revisione dell'applicazione all'applicazione specificata.

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

L'output descrive come utilizzare il create-deployment comando per creare una distribuzione 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=CodeDeployDemoBucket,key=WordPressApp.zip,bundleType=zip,eTag="cecc9b8EXAMPLE50a6e71fdb88EXAMPLE",version=LFsJAUdEXAMPLEfvKtvi79L8EXAMPLE
  • Per API i dettagli, consulta Push in AWS CLI Command Reference.

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

AWS CLI

Per registrare 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=CodeDeployDemoBucket,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

Per registrare un'istanza locale

L'register-on-premises-instanceesempio seguente registra un'istanza locale con. AWS CodeDeploy Non crea l'IAMutente 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

Per registrare un'istanza locale

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'IAMutente 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 API i dettagli, consulta Register in AWS CLI Command Reference.

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

AWS CLI

Per rimuovere i tag da una o più istanze locali

L'remove-tags-from-on-premises-instancesesempio seguente dissocia i tag locali specificati dalle istanze locali. AWS CodeDeploy 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 associati alle istanze. IAM

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

Per tentare di interrompere una distribuzione

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" }
  • Per API i dettagli, vedi in Command StopDeploymentReference AWS CLI .

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Etichettare una risorsa (applicazione)

L'tag-resourceesempio seguente aggiunge due tag con le chiavi Name e Type e 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

In caso di successo, questo comando non produce alcun output.

Per ulteriori informazioni, consulta Tagging delle istanze per i gruppi di distribuzione CodeDeploy nella Guida per l'AWS CodeDeploy utente.

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

Il seguente esempio di codice mostra come utilizzareuninstall.

AWS CLI

Per disinstallare un'istanza locale

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 associato all'IAMistanza.

aws deploy uninstall

Questo comando non produce alcun output.

  • Per API i dettagli, consulta Disinstalla in Command Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Per 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

In caso di successo, questo comando non produce alcun output.

Per ulteriori informazioni, consulta Tagging delle istanze per i gruppi di distribuzione CodeDeploy nella Guida per l'AWS CodeDeploy utente.

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

Il seguente esempio di codice mostra come utilizzareupdate-application.

AWS CLI

Per 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

Per modificare le informazioni su un gruppo di distribuzione

L'update-deployment-groupesempio 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.