CodeDeploy 사용 예제 AWS CLI - AWS Command Line Interface

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CodeDeploy 사용 예제 AWS CLI

다음 코드 예제에서는 AWS Command Line Interface 와 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다 CodeDeploy.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 add-tags-to-on-premises-instances을 사용하는 방법을 보여 줍니다.

AWS CLI

온프레미스 인스턴스에 태그를 추가하려면

다음 add-tags-to-on-premises-instances 예제는 동일한 온프레미스 인스턴스 태그의 AWS CodeDeploy 를 두 개의 온프레미스 인스턴스에 연결합니다. 에 온프레미스 인스턴스를 등록하지 않습니다 AWS CodeDeploy.

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

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 batch-get-application-revisions을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션 개정에 대한 정보를 검색하려면

다음 batch-get-application-revisions 예제에서는 GitHub 리포지토리에 저장된 지정된 개정에 대한 정보를 검색합니다.

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

출력:

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

자세한 내용은 참조BatchGetApplicationRevisions의 섹션을 참조하세요. AWS CodeDeploy API

다음 코드 예시에서는 batch-get-applications을 사용하는 방법을 보여 줍니다.

AWS CLI

여러 애플리케이션에 대한 정보를 가져오려면

다음 batch-get-applications 예제에서는 사용자 AWS 계정과 연결된 여러 애플리케이션에 대한 정보를 표시합니다.

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

출력:

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

다음 코드 예시에서는 batch-get-deployment-groups을 사용하는 방법을 보여 줍니다.

AWS CLI

하나 이상의 배포 그룹에 대한 정보를 검색하려면

다음 batch-get-deployment-groups 예제에서는 지정된 CodeDeploy 애플리케이션과 연결된 두 배포 그룹에 대한 정보를 검색합니다.

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

출력:

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

자세한 내용은 참조BatchGetDeploymentGroups의 섹션을 참조하세요. AWS CodeDeploy API

다음 코드 예시에서는 batch-get-deployment-targets을 사용하는 방법을 보여 줍니다.

AWS CLI

배포와 연결된 대상을 검색하려면

다음 batch-get-deployment-targets 예제에서는 지정된 배포와 연결된 대상 중 하나에 대한 정보를 반환합니다.

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

출력:

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

자세한 내용은 참조BatchGetDeploymentTargets의 섹션을 참조하세요. AWS CodeDeploy API

다음 코드 예시에서는 batch-get-deployments을 사용하는 방법을 보여 줍니다.

AWS CLI

여러 배포에 대한 정보를 가져오려면

다음 batch-get-deployments 예제에서는 사용자 AWS 계정과 연결된 여러 배포에 대한 정보를 표시합니다.

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

출력:

{ "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 } ] }
  • 자세한 API 내용은 명령 참조BatchGetDeployments의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 batch-get-on-premises-instances을 사용하는 방법을 보여 줍니다.

AWS CLI

하나 이상의 온프레미스 인스턴스에 대한 정보를 가져오려면

다음 batch-get-on-premises-instances 예제에서는 두 개의 온프레미스 인스턴스에 대한 정보를 가져옵니다.

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

출력:

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

다음 코드 예시에서는 continue-deployment을 사용하는 방법을 보여 줍니다.

AWS CLI

지정된 대기 시간이 경과할 때까지 기다리지 않고 트래픽 경로 변경을 시작합니다.

다음 continue-deployment 예제에서는 트래픽을 대체 환경의 인스턴스로 전환하기 시작할 준비가 된 원래 환경의 인스턴스에서 트래픽 경로를 변경하기 시작합니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 참조ContinueDeployment의 섹션을 참조하세요. AWS CodeDeploy API

  • 자세한 API 내용은 명령 참조ContinueDeployment의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 create-application을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션을 생성하려면

다음 create-application 예제에서는 애플리케이션을 생성하고 이를 사용자 AWS 계정과 연결합니다.

aws deploy create-application --application-name MyOther_App

출력:

{ "applicationId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" }
  • 자세한 API 내용은 명령 참조CreateApplication의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 create-deployment-config을 사용하는 방법을 보여 줍니다.

AWS CLI

사용자 지정 배포 구성을 생성하려면

다음 create-deployment-config 예제에서는 사용자 지정 배포 구성을 생성하고 사용자 AWS 계정과 연결합니다.

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

출력:

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

다음 코드 예시에서는 create-deployment-group을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 그룹을 생성하려면

다음 create-deployment-group 예제에서는 배포 그룹을 생성하고 이를 지정된 애플리케이션 및 사용자 AWS 계정과 연결합니다.

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

출력:

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

다음 코드 예시에서는 create-deployment을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: EC2/온프레미스 컴퓨팅 플랫폼을 사용하여 CodeDeploy 배포 생성

다음 create-deployment 예제에서는 배포를 생성하고 사용자 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

출력:

{ "deploymentId": "d-A1B2C3111" }

예제 2: Amazon ECS 컴퓨팅 플랫폼을 사용하여 CodeDeploy 배포 생성

다음 create-deployment 예제에서는 다음 두 파일을 사용하여 Amazon ECS 서비스를 배포합니다.

create-deployment.json 파일의 콘텐츠:

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

그러면 이 파일은 라는 S3 버킷appspec.yaml에서 다음 파일을 검색합니다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"

명령:

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

출력:

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

자세한 내용은 참조CreateDeployment의 섹션을 참조하세요. AWS CodeDeploy API

  • 자세한 API 내용은 명령 참조CreateDeployment의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 delete-application을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션 삭제

다음 delete-application 예제에서는 사용자 AWS 계정과 연결된 지정된 애플리케이션을 삭제합니다.

aws deploy delete-application --application-name WordPress_App

이 명령은 출력을 생성하지 않습니다.

  • 자세한 API 내용은 명령 참조DeleteApplication의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 delete-deployment-config을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 구성을 삭제하려면

다음 delete-deployment-config 예제에서는 사용자 AWS 계정과 연결된 사용자 지정 배포 구성을 삭제합니다.

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

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 delete-deployment-group을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 그룹을 삭제하려면

다음 delete-deployment-group 예제에서는 지정된 애플리케이션과 연결된 배포 그룹을 삭제합니다.

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

출력:

{ "hooksNotCleanedUp": [] }

다음 코드 예시에서는 delete-git-hub-account-token을 사용하는 방법을 보여 줍니다.

AWS CLI

GitHub 계정 연결을 삭제하려면

다음 delete-git-hub-account-token 예제에서는 지정된 GitHub 계정의 연결을 삭제합니다.

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

출력:

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

자세한 내용은 참조DeleteGitHubAccountToken의 섹션을 참조하세요. AWS CodeDeploy API

다음 코드 예시에서는 deregister-on-premises-instance을 사용하는 방법을 보여 줍니다.

AWS CLI

온프레미스 인스턴스 등록을 취소하려면

다음 deregister-on-premises-instance 예제에서는 에 온프레미스 인스턴스를 등록 취소하지만 AWS CodeDeploy인스턴스와 연결된 IAM 사용자를 삭제하지 않으며 인스턴스에서 온프레미스 인스턴스 태그 AWS CodeDeploy 의 연결을 해제하지도 않습니다. 또한 인스턴스에서 AWS CodeDeploy 에이전트를 제거하거나 인스턴스에서 온프레미스 구성 파일을 제거하지 않습니다.

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

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 deregister을 사용하는 방법을 보여 줍니다.

AWS CLI

온프레미스 인스턴스 등록을 취소하려면

다음 deregister 예제에서는 를 사용하여 온프레미스 인스턴스의 등록을 취소합니다 AWS CodeDeploy. 인스턴스와 연결된 IAM 사용자는 삭제되지 않습니다. 인스턴스에서 온프레미스 태그 AWS CodeDeploy 의 연결을 해제합니다. 인스턴스에서 AWS CodeDeploy 에이전트를 제거하거나 인스턴스에서 온프레미스 구성 파일을 제거하지는 않습니다.

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

출력:

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 자세한 내용은 AWS CLI 명령 참조등록 취소를 참조하세요.

다음 코드 예시에서는 get-application-revision을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션 개정에 대한 정보를 가져오려면

다음 get-application-revision 예제에서는 지정된 애플리케이션과 연결된 애플리케이션 개정에 대한 정보를 보여줍니다.

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

출력:

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

다음 코드 예시에서는 get-application을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션에 대한 정보를 가져오려면

다음 get-application 예제에서는 사용자 AWS 계정과 연결된 애플리케이션에 대한 정보를 표시합니다.

aws deploy get-application --application-name WordPress_App

출력:

{ "application": { "applicationName": "WordPress_App", "applicationId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "createTime": 1407878168.078, "linkedToGitHub": false } }
  • 자세한 API 내용은 명령 참조GetApplication의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-deployment-config을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 구성에 대한 정보를 가져오려면

다음 get-deployment-config 예제에서는 사용자 AWS 계정과 연결된 배포 구성에 대한 정보를 보여줍니다.

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

출력:

{ "deploymentConfigInfo": { "deploymentConfigId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "minimumHealthyHosts": { "type": "FLEET_PERCENT", "value": 75 }, "createTime": 1411081164.379, "deploymentConfigName": "ThreeQuartersHealthy" } }
  • 자세한 API 내용은 명령 참조GetDeploymentConfig의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-deployment-group을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 그룹에 대한 정보를 보려면

다음 get-deployment-group 예제에서는 지정된 애플리케이션과 연결된 배포 그룹에 대한 정보를 보여줍니다.

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

출력:

{ "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" } }
  • 자세한 API 내용은 명령 참조GetDeploymentGroup의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-deployment-instance을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 인스턴스에 대한 정보를 가져오려면

다음 get-deployment-instance 예제에서는 지정된 배포와 연결된 배포 인스턴스에 대한 정보를 보여줍니다.

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

출력:

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

다음 코드 예시에서는 get-deployment-target을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 대상에 대한 정보를 반환하려면

다음 get-deployment-target 예제에서는 지정된 배포와 연결된 배포 대상에 대한 정보를 반환합니다.

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

출력:

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

자세한 내용은 참조GetDeploymentTarget의 섹션을 참조하세요. AWS CodeDeploy API

  • 자세한 API 내용은 명령 참조GetDeploymentTarget의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-deployment을 사용하는 방법을 보여 줍니다.

AWS CLI

배포에 대한 정보를 가져오려면

다음 get-deployment 예제에서는 사용자 AWS 계정과 연결된 배포에 대한 정보를 보여줍니다.

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

출력:

{ "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 } }
  • 자세한 API 내용은 명령 참조GetDeployment의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-on-premises-instance을 사용하는 방법을 보여 줍니다.

AWS CLI

온프레미스 인스턴스에 대한 정보를 가져오려면

다음 get-on-premises-instance 예제에서는 지정된 온프레미스 인스턴스에 대한 정보를 검색합니다.

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

출력:

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

다음 코드 예시에서는 install을 사용하는 방법을 보여 줍니다.

AWS CLI

온프레미스 인스턴스를 설치하려면

다음 install 예제에서는 인스턴스의 지정된 위치에서 AWS CodeDeploy 에이전트가 찾을 것으로 예상되는 인스턴스의 위치로 온프레미스 구성 파일을 복사합니다. 또한 인스턴스에 AWS CodeDeploy 에이전트를 설치합니다. 사용자를 생성IAM하거나, 온프레미스 인스턴스를 에 등록하거나 AWS CodeDeploy, 인스턴스에 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

출력:

Creating the on-premises instance configuration file... DONE Installing the AWS CodeDeploy Agent... DONE
  • API 자세한 내용은 AWS CLI 명령 참조설치를 참조하세요.

다음 코드 예시에서는 list-application-revisions을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션 개정에 대한 정보를 가져오려면

다음 list-application-revisions 예제에서는 지정된 애플리케이션과 연결된 모든 애플리케이션 개정에 대한 정보를 표시합니다.

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

출력:

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

다음 코드 예시에서는 list-applications을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션에 대한 정보를 가져오려면

다음 list-applications 예제에서는 사용자 AWS 계정과 연결된 모든 애플리케이션에 대한 정보를 표시합니다.

aws deploy list-applications

출력:

{ "applications": [ "WordPress_App", "MyOther_App" ] }
  • 자세한 API 내용은 명령 참조ListApplications의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 list-deployment-configs을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 구성에 대한 정보를 가져오려면

다음 list-deployment-configs 예제에서는 사용자 AWS 계정과 연결된 모든 배포 구성에 대한 정보를 표시합니다.

aws deploy list-deployment-configs

출력:

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

다음 코드 예시에서는 list-deployment-groups을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 그룹에 대한 정보를 가져오려면

다음 list-deployment-groups 예제에서는 지정된 애플리케이션과 연결된 모든 배포 그룹에 대한 정보를 표시합니다.

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

출력:

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

다음 코드 예시에서는 list-deployment-instances을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 인스턴스에 대한 정보를 가져오려면

다음 list-deployment-instances 예제에서는 지정된 배포와 연결된 모든 배포 인스턴스에 대한 정보를 표시합니다.

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

출력:

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

다음 코드 예시에서는 list-deployment-targets을 사용하는 방법을 보여 줍니다.

AWS CLI

배포와 IDs 연결된 대상 목록을 검색하려면

다음 list-deployment-targets 예제에서는 상태가 “실패” 또는 “.”인 배포와 IDs 연결된 대상 목록을 검색합니다InProgress.

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

출력:

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

자세한 내용은 참조ListDeploymentTargets의 섹션을 참조하세요. AWS CodeDeploy API

다음 코드 예시에서는 list-deployments을 사용하는 방법을 보여 줍니다.

AWS CLI

배포에 대한 정보를 가져오려면

다음 list-deployments 예제에서는 지정된 애플리케이션 및 배포 그룹과 연결된 모든 배포에 대한 정보를 표시합니다.

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

출력:

{ "deployments": [ "d-EXAMPLE11", "d-EXAMPLE22", "d-EXAMPLE33" ] }
  • 자세한 API 내용은 명령 참조ListDeployments의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 list-git-hub-account-token-names을 사용하는 방법을 보여 줍니다.

AWS CLI

GitHub 계정에 저장된 연결의 이름을 나열하려면

다음 list-git-hub-account-token-names 예제에서는 현재 AWS 사용자의 GitHub 계정에 저장된 연결의 이름을 나열합니다.

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

출력:

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

자세한 내용은 참조ListGitHubAccountTokenNames의 섹션을 참조하세요. AWS CodeDeploy API

다음 코드 예시에서는 list-on-premises-instances을 사용하는 방법을 보여 줍니다.

AWS CLI

하나 이상의 온프레미스 인스턴스에 대한 정보를 가져오려면

다음 list-on-premises-instances 예제에서는 에 등록되어 AWS CodeDeploy 있고 에 인스턴스 AWS CodeDeploy 와 연결된 지정된 온프레미스 인스턴스 태그가 있는 인스턴스에 대해 사용 가능한 온프레미스 인스턴스 이름 목록을 검색합니다.

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

출력:

{ "instanceNames": [ "AssetTag12010298EX" ] }

다음 코드 예시에서는 list-tags-for-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스의 태그를 나열하려면(애플리케이션)

다음 list-tags-for-resource 예제에서는 에 이름이 지정된 애플리케이션에 적용된 태그를 나열 testApp 합니다 CodeDeploy.

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

출력:

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

자세한 내용은 AWS CodeDeploy 사용 설명서에서 배포 그룹에 대한 인스턴스 태그 지정 CodeDeploy을 참조하세요.

  • 자세한 API 내용은 명령 참조ListTagsForResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 push을 사용하는 방법을 보여 줍니다.

AWS CLI

AWS CodeDeploy 호환되는 애플리케이션 개정을 Amazon S3에 번들링하고 배포하려면

다음 push 예제에서는 Amazon S3에 애플리케이션 개정을 번들링하고 배포한 다음 애플리케이션 개정을 지정된 애플리케이션과 연결합니다.

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

출력은 create-deployment 명령을 사용하여 업로드된 애플리케이션 개정을 사용하는 배포를 생성하는 방법을 설명합니다.

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
  • 자세한 API 내용은 Push in AWS CLI Command 참조를 참조하세요.

다음 코드 예시에서는 register-application-revision을 사용하는 방법을 보여 줍니다.

AWS CLI

이미 업로드된 애플리케이션 개정에 대한 정보를 등록하려면

다음 register-application-revision 예제에서는 Amazon S3에 저장된 이미 업로드된 애플리케이션 개정에 대한 정보를 에 등록합니다 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

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 register-on-premises-instance을 사용하는 방법을 보여 줍니다.

AWS CLI

온프레미스 인스턴스를 등록하려면

다음 register-on-premises-instance 예제에서는 온프레미스 인스턴스를 에 등록합니다 AWS CodeDeploy. 지정된 IAM 사용자를 생성하지 않으며 AWS CodeDeploy 온프레미스 인스턴스 태그에서 등록된 인스턴스와 연결하지도 않습니다.

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

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 register을 사용하는 방법을 보여 줍니다.

AWS CLI

온프레미스 인스턴스를 등록하려면

다음 register 예제에서는 온프레미스 인스턴스를 에 등록하고 AWS CodeDeploy, AWS CodeDeploy 지정된 온프레미스 인스턴스 태그에 등록된 인스턴스와 연결하고, 인스턴스에 복사할 수 있는 온프레미스 구성 파일을 생성합니다. 사용자를 생성IAM하지 않으며 인스턴스에 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

출력:

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 자세한 내용은 AWS CLI 명령 참조등록을 참조하세요.

다음 코드 예시에서는 remove-tags-from-on-premises-instances을 사용하는 방법을 보여 줍니다.

AWS CLI

하나 이상의 온프레미스 인스턴스에서 태그를 제거하려면

다음 remove-tags-from-on-premises-instances 예제에서는 의 지정된 온프레미스 태그를 온프레미스 인스턴스 AWS CodeDeploy 에서 연결 해제합니다. 에서 온프레미스 인스턴스를 등록 취소하거나 AWS CodeDeploy인스턴스에서 AWS CodeDeploy 에이전트를 제거하거나 인스턴스에서 온프레미스 구성 파일을 제거하거나 인스턴스와 연결된 IAM 사용자를 삭제하지 않습니다.

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

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 stop-deployment을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 중지를 시도하려면

다음 stop-deployment 예제에서는 사용자 AWS 계정과 연결된 진행 중인 배포를 중지하려고 시도합니다.

aws 배포 중지-배포 --deployment-id d-A1B2C3111

출력:

{ "status": "Succeeded", "statusMessage": "No more commands will be scheduled for execution in the deployment instances" }
  • 자세한 API 내용은 명령 참조StopDeployment의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 tag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

리소어에 태그를 지정하려면(애플리케이션)

다음 tag-resource 예제에서는 키 이름 및 유형과 testName 값 및 testType 가 포함된 두 개의 태그를 testApp 에 이름이 지정된 애플리케이션에 추가합니다 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

성공하면 이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS CodeDeploy 사용 설명서에서 배포 그룹에 대한 인스턴스 태그 지정 CodeDeploy을 참조하세요.

  • 자세한 API 내용은 명령 참조TagResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 uninstall을 사용하는 방법을 보여 줍니다.

AWS CLI

온프레미스 인스턴스를 제거하려면

다음 uninstall 예제에서는 온프레미스 인스턴스에서 AWS CodeDeploy 에이전트를 제거하고 인스턴스에서 온프레미스 구성 파일을 제거합니다. 에서 인스턴스 등록을 취소하거나 AWS CodeDeploy, 인스턴스 AWS CodeDeploy 에서 의 온프레미스 인스턴스 태그를 연결 해제하거나, 인스턴스와 연결된 IAM 사용자를 삭제하지 않습니다.

aws deploy uninstall

이 명령은 출력을 생성하지 않습니다.

  • API 자세한 내용은 AWS CLI 명령 참조제거를 참조하세요.

다음 코드 예시에서는 untag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스에서 태그를 제거하려면(애플리케이션)

다음 untag-resource 예제에서는 testApp 에 이름이 지정된 애플리케이션에서 키 이름 및 유형이 있는 태그 2개를 제거합니다 CodeDeploy.

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

성공하면 이 명령은 출력을 생성하지 않습니다.

자세한 내용은 AWS CodeDeploy 사용 설명서에서 배포 그룹에 대한 인스턴스 태그 지정 CodeDeploy을 참조하세요.

  • 자세한 API 내용은 명령 참조UntagResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 update-application을 사용하는 방법을 보여 줍니다.

AWS CLI

애플리케이션의 세부 정보를 변경하려면

다음 update-application 예제에서는 사용자 AWS 계정과 연결된 애플리케이션의 이름을 변경합니다.

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

이 명령은 출력을 생성하지 않습니다.

  • 자세한 API 내용은 명령 참조UpdateApplication의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 update-deployment-group을 사용하는 방법을 보여 줍니다.

AWS CLI

배포 그룹에 대한 정보를 변경하려면

다음 update-deployment-group 예제에서는 지정된 애플리케이션과 연결된 배포 그룹의 설정을 변경합니다.

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

이 명령은 출력을 생성하지 않습니다.