Beispiele für die Verwendung der AWS CLI CodeDeploy - AWS Command Line Interface

Beispiele für die Verwendung der AWS CLI CodeDeploy

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit CodeDeploy nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie add-tags-to-on-premises-instances verwendet wird.

AWS CLI

So fügen Sie Tags zu On-Premises-Instances hinzu

Das folgende add-tags-to-on-premises-instances-Beispiel ordnet in AWS CodeDeploy dasselbe On-Premises-Instance-Tag zwei On-Premises-Instances zu. Die On-Premises-Instances werden nicht bei AWS CodeDeploy registriert.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt, wie batch-get-application-revisions verwendet wird.

AWS CLI

So rufen Sie Informationen über Anwendungsrevisionen ab

Das folgende batch-get-application-revisions-Beispiel ruft Informationen über die angegebene Revision ab, die in einem GitHub-Repository gespeichert ist.

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

Ausgabe:

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

Weitere Informationen finden Sie unter BatchGetApplicationRevisions in der API-Referenz zu AWS CodeDeploy.

Das folgende Codebeispiel zeigt, wie batch-get-applications verwendet wird.

AWS CLI

So rufen Sie Informationen zu mehreren Anwendungen ab

Im folgenden batch-get-applications-Beispiel werden Informationen zu mehreren Anwendungen angezeigt, die dem AWS-Konto des Benutzers zugeordnet sind.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie batch-get-deployment-groups verwendet wird.

AWS CLI

So rufen Sie Informationen zu einzelnen oder mehreren Bereitstellungsgruppen ab

Im folgenden batch-get-deployment-groups-Beispiel werden Informationen zu zwei der Bereitstellungsgruppen abgerufen, die der angegebenen CodeDeploy-Anwendung zugeordnet sind.

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

Ausgabe:

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

Weitere Informationen finden Sie unter BatchGetDeploymentGroups in der API-Referenz zu AWS CodeDeploy.

Das folgende Codebeispiel zeigt, wie batch-get-deployment-targets verwendet wird.

AWS CLI

So rufen Sie die mit einer Bereitstellung verknüpften Ziele ab

Das folgende batch-get-deployment-targets-Beispiel gibt Informationen zu einem der Ziele zurück, die mit der angegebenen Bereitstellung verknüpft sind.

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

Ausgabe:

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

Weitere Informationen finden Sie unter BatchGetDeploymentTargets in der API-Referenz zu AWS CodeDeploy.

Das folgende Codebeispiel zeigt, wie batch-get-deployments verwendet wird.

AWS CLI

So rufen Sie Informationen zu mehreren Bereitstellungen ab

Im folgenden batch-get-deployments-Beispiel werden Informationen zu mehreren Bereitstellungen angezeigt, die dem AWS-Konto des Benutzers zugeordnet sind.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie batch-get-on-premises-instances verwendet wird.

AWS CLI

So rufen Sie Informationen zu einzelnen oder mehreren On-Premises-Instances ab

Im folgenden batch-get-on-premises-instances-Beispiel werden Informationen zu zwei On-Premises-Instances abgerufen.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie continue-deployment verwendet wird.

AWS CLI

So beginnen Sie mit der Umleitung des Datenverkehrs, ohne die angegebene Wartezeit verstreichen zu lassen

Das folgende continue-deployment-Beispiel beginnt mit der Umleitung des Datenverkehrs von Instances in der ursprünglichen Umgebung, die bereit sind, den Datenverkehr zu Instances in der Austauschumgebung zu verlagern.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter ContinueDeployment in der API-Referenz zu AWS CodeDeploy.

Das folgende Codebeispiel zeigt, wie create-application verwendet wird.

AWS CLI

So erstellen Sie eine Anwendung

Im folgenden create-application-Beispiel wird eine Anwendung erstellt und dem AWS-Konto des Benutzers zugeordnet.

aws deploy create-application --application-name MyOther_App

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie create-deployment-config verwendet wird.

AWS CLI

So erstellen Sie eine benutzerdefinierte Bereitstellungskonfiguration

Im folgenden create-deployment-config-Beispiel wird eine benutzerdefinierte Bereitstellungskonfiguration erstellt und dem AWS-Konto des Benutzers zugeordnet.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie create-deployment-group verwendet wird.

AWS CLI

So erstellen Sie eine Bereitstellungsgruppe in

Im folgenden create-deployment-group-Beispiel wird eine Bereitstellungsgruppe erstellt und der angegebenen Anwendung und dem AWS-Konto des Benutzers zugeordnet.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie create-deployment verwendet wird.

AWS CLI

Beispiel 1: So erstellen Sie eine CodeDeploy-Bereitstellung mithilfe der EC2-/On-Premises-Datenverarbeitungsplattform

Im folgenden create-deployment-Beispiel wird eine Bereitstellung erstellt und dem AWS-Konto des Benutzers zugeordnet.

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

Ausgabe:

{ "deploymentId": "d-A1B2C3111" }

Beispiel 2: So erstellen Sie eine CodeDeploy-Bereitstellung mithilfe der Amazon-ECS-Datenverarbeitungsplattform

Im folgenden create-deployment-Beispiel werden die folgenden zwei Dateien verwendet, um einen Amazon-ECS-Service bereitzustellen.

Inhalt der create-deployment.json-Datei:

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

Diese Datei wiederum ruft die folgende appspec.yaml-Datei aus einem S3-Bucket mit dem Namen ecs-deployment-bucket ab.

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"

Befehl:

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

Ausgabe:

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

Weitere Informationen finden Sie unter CreateDeployment in der API-Referenz zu AWS CodeDeploy.

  • API-Details finden Sie unter CreateDeployment in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-application verwendet wird.

AWS CLI

So löschen Sie eine Anwendung

Im folgenden delete-application-Beispiel wird die angegebene Anwendung gelöscht, die dem AWS-Konto des Benutzers zugeordnet ist.

aws deploy delete-application --application-name WordPress_App

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt, wie delete-deployment-config verwendet wird.

AWS CLI

So löschen Sie eine Bereitstellungskonfiguration

Im folgenden delete-deployment-config-Beispiel wird eine benutzerdefinierte Bereitstellungskonfiguration gelöscht, die dem AWS-Konto des Benutzers zugeordnet ist.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt, wie delete-deployment-group verwendet wird.

AWS CLI

So löschen Sie eine Bereitstellungsgruppe

Im folgenden delete-deployment-group-Beispiel wird eine Bereitstellungsgruppe gelöscht, die der angegebenen Anwendung zugeordnet ist.

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

Ausgabe:

{ "hooksNotCleanedUp": [] }

Das folgende Codebeispiel zeigt, wie delete-git-hub-account-token verwendet wird.

AWS CLI

So löschen Sie eine GitHub-Kontoverbindung

Das folgende delete-git-hub-account-token-Beispiel löscht die Verbindung des angegebenen GitHub-Kontos.

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

Ausgabe:

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

Weitere Informationen finden Sie unter DeleteGitHubAccountToken in der API-Referenz zu AWS CodeDeploy.

Das folgende Codebeispiel zeigt, wie deregister-on-premises-instance verwendet wird.

AWS CLI

So heben Sie die Registrierung einer On-Premises-Instance auf

Das folgende deregister-on-premises-instance-Beispiel hebt die Registrierung einer On-Premises-Instance bei AWS CodeDeploy auf, löscht jedoch weder den mit der Instance verknüpften IAM-Benutzer, noch trennt es in AWS CodeDeploy die Zuordnung der On-Premises-Instance-Tags von der Instance. Es deinstalliert auch nicht den AWS-CodeDeploy-Agenten von der Instance und entfernt auch nicht die On-Premises-Konfigurationsdatei aus der Instance.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt, wie deregister verwendet wird.

AWS CLI

So heben Sie die Registrierung einer On-Premises-Instance auf

Im folgenden deregister-Beispiel wird die Registrierung einer On-Premises-Instance bei AWS CodeDeploy aufgehoben. Der mit der Instance verbundene IAM-Benutzer wird nicht gelöscht. In AWS CodeDeploy werden die On-Premises-Tags von der Instance getrennt. Der AWS-CodeDeploy-Agent wird nicht von der Instance deinstalliert und die On-Premises-Konfigurationsdatei wird nicht aus der Instance entfernt.

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

Ausgabe:

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
  • API-Details finden Sie unter Deregister in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-application-revision verwendet wird.

AWS CLI

So rufen Sie Informationen zu einer Anwendungsrevision ab

Im folgenden get-application-revision-Beispiel werden Informationen zu einer Anwendungsrevision angezeigt, die der angegebenen Anwendung zugeordnet ist.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie get-application verwendet wird.

AWS CLI

So rufen Sie Informationen zu einer Anwendung ab

Im folgenden get-application-Beispiel werden Informationen zu einer Anwendung angezeigt, die dem AWS-Konto des Benutzers zugeordnet ist.

aws deploy get-application --application-name WordPress_App

Ausgabe:

{ "application": { "applicationName": "WordPress_App", "applicationId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "createTime": 1407878168.078, "linkedToGitHub": false } }
  • API-Details finden Sie unter GetApplication in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-deployment-config verwendet wird.

AWS CLI

So rufen Sie Informationen zu einer Bereitstellungskonfiguration ab

Im folgenden get-deployment-config-Beispiel werden Informationen zu einer Bereitstellungskonfiguration angezeigt, die dem AWS-Konto des Benutzers zugeordnet sind.

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

Ausgabe:

{ "deploymentConfigInfo": { "deploymentConfigId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "minimumHealthyHosts": { "type": "FLEET_PERCENT", "value": 75 }, "createTime": 1411081164.379, "deploymentConfigName": "ThreeQuartersHealthy" } }

Das folgende Codebeispiel zeigt, wie get-deployment-group verwendet wird.

AWS CLI

So zeigen Sie Informationen zu einer Bereitstellungsgruppe an

Im folgenden get-deployment-group-Beispiel werden Informationen zu einer Bereitstellungsgruppe angezeigt, die der angegebenen Anwendung zugeordnet ist.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie get-deployment-instance verwendet wird.

AWS CLI

So rufen Sie Informationen zu einer Bereitstellungs-Instance ab

Im folgenden get-deployment-instance-Beispiel werden Informationen zu einer Bereitstellungs-Instance angezeigt, die der angegebenen Anwendung zugeordnet ist.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie get-deployment-target verwendet wird.

AWS CLI

So geben Sie Informationen zu einem Bereitstellungsziel zurück

Im folgenden get-deployment-target-Beispiel werden Informationen zu einem Bereitstellungsziel zurückgegeben, das der angegebenen Anwendung zugeordnet ist.

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

Ausgabe:

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

Weitere Informationen finden Sie unter GetDeploymentTarget in der API-Referenz zu AWS CodeDeploy.

Das folgende Codebeispiel zeigt, wie get-deployment verwendet wird.

AWS CLI

So rufen Sie Informationen zu einer Bereitstellung ab

Im folgenden get-deployment-Beispiel werden Informationen zu einer Bereitstellung angezeigt, die dem AWS-Konto des Benutzers zugeordnet ist.

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

Ausgabe:

{ "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 } }
  • API-Details finden Sie unter GetDeployment in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-on-premises-instance verwendet wird.

AWS CLI

So rufen Sie Informationen zu einer On-Premises-Instance ab

Im folgenden get-on-premises-instance-Beispiel werden Informationen zur angegebenen On-Premises-Instance abgerufen.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie install verwendet wird.

AWS CLI

So installieren Sie eine On-Premises-Instance

Im folgenden install-Beispiel wird die On-Premises-Konfigurationsdatei vom angegebenen Speicherort auf der Instance zu dem Speicherort auf der Instance kopiert, an dem der AWS-CodeDeploy-Agent sie erwartet. Außerdem wird der AWS-CodeDeploy-Agent auf der Instance installiert. Es wird kein IAM-Benutzer erstellt, die On-Premises-Instance wird nicht bei AWS CodeDeploy registriert und es werden auch keine On-Premises-Instance-Tags in AWS CodeDeploy für die Instance zugeordnet.

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

Ausgabe:

Creating the on-premises instance configuration file... DONE Installing the AWS CodeDeploy Agent... DONE
  • API-Details finden Sie unter Install in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-application-revisions verwendet wird.

AWS CLI

So rufen Sie Informationen zu Anwendungsrevisionen ab

Im folgenden list-application-revisions-Beispiel werden Informationen zu allen Anwendungsrevisionen angezeigt, die der angegebenen Anwendung zugeordnet sind.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie list-applications verwendet wird.

AWS CLI

So rufen Sie Informationen zu Anwendungen ab

Im folgenden list-applications-Beispiel werden Informationen zu allen Anwendungen angezeigt, die dem AWS-Konto des Benutzers zugeordnet sind.

aws deploy list-applications

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie list-deployment-configs verwendet wird.

AWS CLI

So rufen Sie Informationen zu Bereitstellungskonfigurationen ab

Im folgenden list-deployment-configs-Beispiel werden Informationen zu allen Bereitstellungskonfigurationen angezeigt, die dem AWS-Konto des Benutzers zugeordnet sind.

aws deploy list-deployment-configs

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie list-deployment-groups verwendet wird.

AWS CLI

So rufen Sie Informationen zu Bereitstellungsgruppen ab

Im folgenden list-deployment-groups-Beispiel werden Informationen zu allen Bereitstellungsgruppen angezeigt, die der angegebenen Anwendung zugeordnet sind.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie list-deployment-instances verwendet wird.

AWS CLI

So rufen Sie Informationen zu Bereitstellungs-Instances ab

Im folgenden list-deployment-instances-Beispiel werden Informationen zu allen Bereitstellungs-Instances angezeigt, die der angegebenen Anwendung zugeordnet sind.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie list-deployment-targets verwendet wird.

AWS CLI

So rufen Sie eine Liste mit Ziel-IDs ab, die einer Bereitstellung zugeordnet sind

Im folgenden list-deployment-targets-Beispiel wird eine Liste von Ziel-IDs abgerufen, die Bereitstellungen mit dem Status „Failed“ oder „InProgress“ zugeordnet sind.

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

Ausgabe:

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

Weitere Informationen finden Sie unter ListDeploymentTargets in der API-Referenz zu AWS CodeDeploy.

Das folgende Codebeispiel zeigt, wie list-deployments verwendet wird.

AWS CLI

So rufen Sie Informationen zu Bereitstellungen ab

Im folgenden list-deployments-Beispiel werden Informationen zu allen Bereitstellungen angezeigt, die der angegebenen Anwendung und Bereitstellungsgruppe zugeordnet sind.

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

Ausgabe:

{ "deployments": [ "d-EXAMPLE11", "d-EXAMPLE22", "d-EXAMPLE33" ] }
  • API-Details finden Sie unter ListDeployments in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-git-hub-account-token-names verwendet wird.

AWS CLI

So listen Sie die Namen der gespeicherten Verbindungen zu GitHub-Konten auf

Das folgende list-git-hub-account-token-names-Beispiel listet die Namen der gespeicherten Verbindungen zu GitHub-Konten für den aktuellen AWS-Benutzer auf.

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

Ausgabe:

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

Weitere Informationen finden Sie unter ListGitHubAccountTokenNames in der API-Referenz zu AWS CodeDeploy.

Das folgende Codebeispiel zeigt, wie list-on-premises-instances verwendet wird.

AWS CLI

So rufen Sie Informationen zu einzelnen oder mehreren On-Premises-Instances ab

Im folgenden list-on-premises-instances-Beispiel wird eine Liste der verfügbaren Namen für On-Premises-Instances für Instances abgerufen, die in AWS CodeDeploy registriert sind und denen auch das angegebene On-Premises-Instance-Tag in AWS CodeDeploy mit der Instance zugeordnet ist.

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

Ausgabe:

{ "instanceNames": [ "AssetTag12010298EX" ] }

Das folgende Codebeispiel zeigt, wie list-tags-for-resource verwendet wird.

AWS CLI

So listen Sie Tags für eine Ressource (Anwendung) auf

Das folgende list-tags-for-resource-Beispiel listet die Tags auf, die auf eine Anwendung namens „testApp“ in CodeDeploy angewendet wurden.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Tagging instances for deployment groups in CodeDeploy im AWS-CodeDeploy-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie push verwendet wird.

AWS CLI

So bündeln Sie eine AWS-CodeDeploy-kompatible Anwendungsversion für Amazon S3 und stellen sie bereit

Das folgende push-Beispiel bündelt eine Anwendungsrevision für Amazon S3, stellt sie bereit und ordnet dann die Anwendungsrevision der angegebenen Anwendung zu.

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/

In der Ausgabe wird beschrieben, wie der create-deployment-Befehl verwendet wird, um eine Bereitstellung zu erstellen, die die hochgeladene Anwendungsversion verwendet.

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
  • API-Details finden Sie unter Push in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie register-application-revision verwendet wird.

AWS CLI

So registrieren Sie Informationen zu einer bereits hochgeladenen Anwendungsrevision

Das folgende register-application-revision-Beispiel registriert Informationen zu einer bereits hochgeladenen Anwendungsversion, die in Amazon S3 mit AWS CodeDeploy gespeichert ist.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt, wie register-on-premises-instance verwendet wird.

AWS CLI

So registrieren Sie eine On-Premises-Instance

Im folgenden register-on-premises-instance-Beispiel wird eine On-Premises-Instance bei AWS CodeDeploy registriert. Der angegebene IAM-Benutzer wird nicht erstellt und es werden in AWS CodeDeploy keine On-Premises-Instance-Tags der registrierten Instance zugeordnet.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt, wie register verwendet wird.

AWS CLI

So registrieren Sie eine On-Premises-Instance

Das folgende register-Beispiel registriert eine On-Premises-Instance bei AWS CodeDeploy, ordnet in AWS CodeDeploy das angegebene On-Premises-Instance-Tag der registrierten Instance zu und erstellt eine On-Premises-Konfigurationsdatei, die in die Instance kopiert werden kann. Der IAM-Benutzer wird nicht erstellt und der AWS-CodeDeploy-Agent wird nicht auf der Instance installiert.

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

Ausgabe:

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
  • API-Details finden Sie unter Register in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie remove-tags-from-on-premises-instances verwendet wird.

AWS CLI

So entfernen Sie Tags aus einzelnen oder mehreren On-Premises-Instances

Im folgenden remove-tags-from-on-premises-instances-Beispiel werden die angegebenen On-Premises-Tags in AWS CodeDeploy von den On-Premises-Instances getrennt. Die Registrierung der On-Premises-Instances in AWS CodeDeploy wird nicht aufgehoben, der AWS-CodeDeploy-Agent wird nicht von der Instance deinstalliert, die On-Premises-Konfigurationsdatei wird nicht aus den Instances entfernt und die IAM-Benutzer, die den Instances zugeordnet sind, werden nicht gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt, wie stop-deployment verwendet wird.

AWS CLI

So versuchen Sie, eine Bereitstellung zu beenden

Im folgenden stop-deployment-Beispiel wird versucht, eine laufende Bereitstellung zu beenden, die dem AWS-Konto des Benutzers zugeordnet ist.

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

Ausgabe:

{ "status": "Succeeded", "statusMessage": "No more commands will be scheduled for execution in the deployment instances" }
  • API-Details finden Sie unter StopDeployment in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie tag-resource verwendet wird.

AWS CLI

So taggen Sie eine Ressource (Anwendung)

Im folgenden tag-resource-Beispiel werden zwei Tags mit den Schlüsseln „Name“ und „Type“ sowie den Werten „testName“ und „testType“ einer Anwendung namens „testApp“ in CodeDeploy hinzugefügt:

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

Wenn er erfolgreich ist, erzeugt dieser Befehl keine Ausgabe.

Weitere Informationen finden Sie unter Tagging instances for deployment groups in CodeDeploy im AWS-CodeDeploy-Benutzerhandbuch.

  • API-Details finden Sie unter TagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie uninstall verwendet wird.

AWS CLI

So deinstallieren Sie eine On-Premises-Instance

Im folgenden uninstall-Beispiel wird der AWS-CodeDeploy-Agent von der On-Premises-Instance deinstalliert und die On-Premises-Konfigurationsdatei aus der Instance entfernt. Die Registrierung der Instance bei AWS CodeDeploy wird nicht aufgehoben, die Zuordnung der On-Premises-Instance-Tags in AWS CodeDeploy von der Instance wird nicht aufgehoben und der der Instance zugeordnete IAM-Benutzer wird nicht gelöscht.

aws deploy uninstall

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

  • API-Details finden Sie unter Uninstall in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie untag-resource verwendet wird.

AWS CLI

So entfernen Sie Tags aus einer Ressource (Anwendung)

Im folgenden untag-resource-Beispiel werden zwei Tags mit den Schlüsseln „Name“ und „Type“ aus einer Anwendung namens „testApp“ in CodeDeploy entfernt.

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

Wenn er erfolgreich ist, erzeugt dieser Befehl keine Ausgabe.

Weitere Informationen finden Sie unter Tagging instances for deployment groups in CodeDeploy im AWS-CodeDeploy-Benutzerhandbuch.

  • API-Details finden Sie unter UntagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-application verwendet wird.

AWS CLI

So ändern Sie die Details einer Anwendung

Im folgenden update-application-Beispiel wird der Name einer Anwendung geändert, die dem AWS-Konto des Benutzers zugeordnet ist.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt, wie update-deployment-group verwendet wird.

AWS CLI

So ändern Sie Informationen zu einer Bereitstellungsgruppe

Im folgenden update-deployment-group-Beispiel werden die Einstellungen einer Bereitstellungsgruppe geändert, die der angegebenen Anwendung zugeordnet ist.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.