本文件 AWS CLI 僅適用於 第 1 版。如需 第 2 版的相關文件 AWS CLI,請參閱 第 2 版使用者指南。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 的 CodeDeploy 範例 AWS CLI
下列程式碼範例示範如何透過 AWS Command Line Interface 搭配 CodeDeploy 使用 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 add-tags-to-on-premises-instances
。
- AWS CLI
-
將標籤新增至內部部署執行個體
下列
add-tags-to-on-premises-instances
範例會將 in AWS CodeDeploy 相同的現場部署執行個體標籤與兩個現場部署執行個體建立關聯。它不會向 AWS CodeDeploy 註冊現場部署執行個體。aws deploy add-tags-to-on-premises-instances \ --instance-names
AssetTag12010298EX
AssetTag23121309EX
\ --tagsKey=Name,Value=CodeDeployDemo-OnPrem
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 AddTagsToOnPremisesInstances
。
-
下列程式碼範例示範如何使用 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": "" }
如需詳細資訊,請參閱 AWS CodeDeploy API 參考中的 BatchGetApplicationRevisions。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 BatchGetApplicationRevisions
。
-
下列程式碼範例示範如何使用 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 } ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 BatchGetApplications
。
-
下列程式碼範例示範如何使用 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": "" }
如需詳細資訊,請參閱 CodeDeploy API 參考中的 BatchGetDeploymentGroups。 AWS CodeDeploy
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 BatchGetDeploymentGroups
。
-
下列程式碼範例示範如何使用 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" } } ] }
如需詳細資訊,請參閱 CodeDeploy API 參考中的 BatchGetDeploymentTargets。 AWS CodeDeploy
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 BatchGetDeploymentTargets
。
-
下列程式碼範例示範如何使用 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": "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 } ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 BatchGetDeployments
。
-
下列程式碼範例示範如何使用 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" } ] }
-
如需 API 詳細資訊,請參閱《 AWS CLI 命令參考》中的 BatchGetOnPremisesInstances
。
-
下列程式碼範例示範如何使用 continue-deployment
。
- AWS CLI
-
開始重新路由流量,而不需等待指定的等待時間。
下列
continue-deployment
範例會開始重新路由來自原始環境中執行個體的流量,這些執行個體已準備好將流量轉移到替代環境中的執行個體。aws deploy continue-deployment \ --deployment-id
"d-A1B2C3111"
\ --deployment-wait-type"READY_WAIT"
此命令不會產生輸出。
如需詳細資訊,請參閱 ContinueDeployment部署。 AWS CodeDeploy
-
如需 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 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateApplication
。
-
下列程式碼範例示範如何使用 create-deployment-config
。
- AWS CLI
-
建立自訂部署組態
下列
create-deployment-config
範例會建立自訂部署組態,並將其與使用者帳戶建立關聯 AWS 。aws deploy create-deployment-config \ --deployment-config-name
ThreeQuartersHealthy
\ --minimum-healthy-hoststype=FLEET_PERCENT,value=75
輸出:
{ "deploymentConfigId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateDeploymentConfig
。
-
下列程式碼範例示範如何使用 create-deployment-group
。
- AWS CLI
-
建立部署群組
下列
create-deployment-group
範例會建立部署群組,並將其與指定的應用程式和使用者帳戶建立關聯 AWS 。aws deploy create-deployment-group \ --application-name
WordPress_App
\ --auto-scaling-groupsCodeDeployDemo-ASG
\ --deployment-config-nameCodeDeployDefault.OneAtATime
\ --deployment-group-nameWordPress_DG
\ --ec2-tag-filtersKey=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE
\ --service-role-arnarn:aws:iam::123456789012:role/CodeDeployDemoRole
輸出:
{ "deploymentGroupId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateDeploymentGroup
。
-
下列程式碼範例示範如何使用 create-deployment
。
- AWS CLI
-
範例 1:使用 EC2/內部部署運算平台建立 CodeDeploy 部署
下列
create-deployment
範例會建立部署,並將其與使用者帳戶建立關聯 AWS 。aws deploy create-deployment \ --application-name
WordPress_App
\ --deployment-config-nameCodeDeployDefault.OneAtATime
\ --deployment-group-nameWordPress_DG
\ --description"My demo deployment"
\ --s3-locationbucket=amzn-s3-demo-bucket,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" } } }
該檔案接著
appspec.yaml
會從名為 的 S3 儲存貯體擷取下列檔案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
\ --regionus-east-1
輸出:
{ "deploymentId": "d-1234ABCDE" }
如需詳細資訊,請參閱 CodeDeploy API 參考中的 CreateDeploymentAWS CodeDeploy。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateDeployment
。
-
下列程式碼範例示範如何使用 delete-application
。
- AWS CLI
-
如欲刪除應用程式
下列
delete-application
範例會刪除與使用者帳戶相關聯的指定應用程式 AWS 。aws deploy delete-application --application-name
WordPress_App
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteApplication
。
-
下列程式碼範例示範如何使用 delete-deployment-config
。
- AWS CLI
-
刪除部署組態
下列
delete-deployment-config
範例會刪除與使用者帳戶相關聯的自訂部署組態 AWS 。aws deploy delete-deployment-config --deployment-config-name
ThreeQuartersHealthy
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteDeploymentConfig
。
-
下列程式碼範例示範如何使用 delete-deployment-group
。
- AWS CLI
-
刪除部署群組
下列
delete-deployment-group
範例會刪除與指定應用程式相關聯的部署群組。aws deploy delete-deployment-group \ --application-name
WordPress_App
\ --deployment-group-nameWordPress_DG
輸出:
{ "hooksNotCleanedUp": [] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteDeploymentGroup
。
-
下列程式碼範例示範如何使用 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" }
如需詳細資訊,請參閱 AWS CodeDeploy API 參考中的 DeleteGitHubAccountToken。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteGitHubAccountToken
。
-
下列程式碼範例示範如何使用 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
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeregisterOnPremisesInstance
。
-
下列程式碼範例示範如何使用 deregister
。
- AWS CLI
-
取消註冊現場部署執行個體
下列
deregister
範例會使用 AWS CodeDeploy 取消註冊現場部署執行個體。它不會刪除與執行個體相關聯的 IAM 使用者。它會在 AWS CodeDeploy 中取消內部部署標籤與執行個體的關聯。它不會從執行個體解除安裝 AWS CodeDeploy 代理程式,也不會從執行個體中移除內部部署組態檔案。aws deploy deregister \ --instance-name
AssetTag12010298EX
\ --no-delete-iam-user \ --regionus-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-locationbucket=amzn-s3-demo-bucket,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": "amzn-s3-demo-bucket", "key": "WordPressApp.zip" } } }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetApplicationRevision
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 GetApplication
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 GetDeploymentConfig
。
-
下列程式碼範例示範如何使用 get-deployment-group
。
- AWS CLI
-
檢視部署群組的相關資訊
下列
get-deployment-group
範例顯示與指定應用程式相關聯的部署群組相關資訊。aws deploy get-deployment-group \ --application-name
WordPress_App
\ --deployment-group-nameWordPress_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 詳細資訊,請參閱 AWS CLI 命令參考中的 GetDeploymentGroup
。
-
下列程式碼範例示範如何使用 get-deployment-instance
。
- AWS CLI
-
取得部署執行個體的相關資訊
下列
get-deployment-instance
範例顯示與指定部署相關聯的部署執行個體相關資訊。aws deploy get-deployment-instance --deployment-id
d-QA4G4F9EX
--instance-idi-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" } }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetDeploymentInstance
。
-
下列程式碼範例示範如何使用 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" } } }
如需詳細資訊,請參閱 CodeDeploy API 參考中的 GetDeploymentTarget。 AWS CodeDeploy
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetDeploymentTarget
。
-
下列程式碼範例示範如何使用 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": "amzn-s3-demo-bucket", "key": "WordPressApp.zip" } }, "deploymentId": "d-A1B2C3123", "deploymentGroupName": "WordPress_DG", "createTime": 1409764576.589, "completeTime": 1409764596.101, "ignoreApplicationStopFailures": false } }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetDeployment
。
-
下列程式碼範例示範如何使用 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" } }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetOnPremisesInstance
。
-
下列程式碼範例示範如何使用 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-installers3://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-bucketamzn-s3-demo-bucket
\ --deployedexclude
\ --s-3-key-prefixWordPress_
\ --sort-bylastUsedTime
\ --sort-orderdescending
輸出:
{ "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" } } ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListApplicationRevisions
。
-
下列程式碼範例示範如何使用 list-applications
。
- AWS CLI
-
取得應用程式的相關資訊
下列
list-applications
範例顯示與使用者帳戶相關聯的所有應用程式的相關資訊 AWS 。aws deploy list-applications
輸出:
{ "applications": [ "WordPress_App", "MyOther_App" ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListApplications
。
-
下列程式碼範例示範如何使用 list-deployment-configs
。
- AWS CLI
-
取得部署組態的相關資訊
下列
list-deployment-configs
範例顯示與使用者帳戶相關聯的所有部署組態的相關資訊 AWS 。aws deploy list-deployment-configs
輸出:
{ "deploymentConfigsList": [ "ThreeQuartersHealthy", "CodeDeployDefault.AllAtOnce", "CodeDeployDefault.HalfAtATime", "CodeDeployDefault.OneAtATime" ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListDeploymentConfigs
。
-
下列程式碼範例示範如何使用 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" ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListDeploymentGroups
。
-
下列程式碼範例示範如何使用 list-deployment-instances
。
- AWS CLI
-
取得部署執行個體的相關資訊
下列
list-deployment-instances
範例顯示與指定部署相關聯的所有部署執行個體的相關資訊。aws deploy list-deployment-instances \ --deployment-id
d-A1B2C3111
\ --instance-status-filterSucceeded
輸出:
{ "instancesList": [ "i-EXAMPLE11", "i-EXAMPLE22" ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListDeploymentInstances
。
-
下列程式碼範例示範如何使用 list-deployment-targets
。
- AWS CLI
-
擷取與部署相關聯的目標 IDs 清單
下列
list-deployment-targets
範例會擷取與狀態為「失敗」或「InProgress」之部署相關聯的目標 IDs 清單。InProgress."aws deploy list-deployment-targets \ --deployment-id
"d-A1B2C3111"
\ --target-filters "{\"TargetStatus\":[\"Failed\",\"InProgress\"]}"輸出:
{ "targetIds": [ "i-0f1558aaf90e5f1f9" ] }
如需詳細資訊,請參閱 CodeDeploy API 參考中的 ListDeploymentTargets。 AWS CodeDeploy
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListDeploymentTargets
。
-
下列程式碼範例示範如何使用 list-deployments
。
- AWS CLI
-
取得部署的相關資訊
下列
list-deployments
範例顯示與指定應用程式和部署群組相關聯的所有部署的相關資訊。aws deploy list-deployments \ --application-name
WordPress_App
\ --create-time-rangestart=2014-08-19T00:00:00,end=2014-08-20T00:00:00
\ --deployment-group-nameWordPress_DG
\ --include-only-statusesFailed
輸出:
{ "deployments": [ "d-EXAMPLE11", "d-EXAMPLE22", "d-EXAMPLE33" ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListDeployments
。
-
下列程式碼範例示範如何使用 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" ] }
如需詳細資訊,請參閱 AWS CodeDeploy API 參考中的 ListGitHubAccountTokenNames。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListGitHubAccountTokenNames
。
-
下列程式碼範例示範如何使用 list-on-premises-instances
。
- AWS CLI
-
取得一或多個內部部署執行個體的相關資訊
下列
list-on-premises-instances
範例會擷取在 AWS CodeDeploy 中註冊之執行個體的可用現場部署執行個體名稱清單,以及與執行個體在 AWS CodeDeploy 中建立關聯的指定現場部署執行個體標籤。aws deploy list-on-premises-instances \ --registration-status
Registered
\ --tag-filtersKey=Name,Value=CodeDeployDemo-OnPrem,Type=KEY_AND_VALUE
輸出:
{ "instanceNames": [ "AssetTag12010298EX" ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListOnPremisesInstances
。
-
下列程式碼範例示範如何使用 list-tags-for-resource
。
- AWS CLI
-
列出資源的標籤 (應用程式)
下列
list-tags-for-resource
範例列出套用至 CodeDeploy 中名為 testApp 的應用程式的標籤。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" } ] }
如需詳細資訊,請參閱 CodeDeploy 使用者指南中的在 CodeDeploy 中標記部署群組的執行個體。 AWS CodeDeploy
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListTagsForResource
。
-
下列程式碼範例示範如何使用 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-locations3://amzn-s3-demo-bucket/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=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip,eTag="cecc9b8EXAMPLE50a6e71fdb88EXAMPLE",version=LFsJAUdEXAMPLEfvKtvi79L8EXAMPLE
-
如需 API 詳細資訊,請參閱推送
AWS CLI 命令參考。
-
下列程式碼範例示範如何使用 register-application-revision
。
- AWS CLI
-
註冊已上傳應用程式修訂版的相關資訊
下列
register-application-revision
範例會註冊儲存在 Amazon S3 with AWS CodeDeploy 中已上傳應用程式修訂版的相關資訊。aws deploy register-application-revision \ --application-name
WordPress_App
\ --description"Revised WordPress application"
\ --s3-locationbucket=amzn-s3-demo-bucket,key=RevisedWordPressApp.zip,bundleType=zip,eTag=cecc9b8a08eac650a6e71fdb88EXAMPLE
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RegisterApplicationRevision
。
-
下列程式碼範例示範如何使用 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-arnarn:aws:iam::80398EXAMPLE:user/CodeDeployDemoUser-OnPrem
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RegisterOnPremisesInstance
。
-
下列程式碼範例示範如何使用 register
。
- AWS CLI
-
註冊內部部署執行個體
下列
register
範例會向 AWS CodeDeploy 註冊現場部署執行個體、 AWS CodeDeploy 將指定的現場部署執行個體標籤與已註冊執行個體建立關聯,以及建立可複製到執行個體的現場部署組態檔案。它不會建立 IAM 使用者,也不會在執行個體上安裝 AWS CodeDeploy Agent。aws deploy register \ --instance-name
AssetTag12010298EX
\ --iam-user-arnarn:aws:iam::80398EXAMPLE:user/CodeDeployUser-OnPrem
\ --tagsKey=Name,Value=CodeDeployDemo-OnPrem
\ --regionus-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 Agent,也不會從執行個體中移除現場部署組態檔案,也不會刪除與執行個體相關聯的 IAM 使用者。aws deploy remove-tags-from-on-premises-instances \ --instance-names
AssetTag12010298EX
AssetTag23121309EX
\ --tagsKey=Name,Value=CodeDeployDemo-OnPrem
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RemoveTagsFromOnPremisesInstances
。
-
下列程式碼範例示範如何使用 stop-deployment
。
- AWS CLI
-
嘗試停止部署
下列
stop-deployment
範例會嘗試停止與使用者帳戶相關聯的進行中部署 AWS 。aws 部署 stop-deployment --deployment-id d-A1B2C3111
輸出:
{ "status": "Succeeded", "statusMessage": "No more commands will be scheduled for execution in the deployment instances" }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 StopDeployment
。
-
下列程式碼範例示範如何使用 tag-resource
。
- AWS CLI
-
標記 resoure (應用程式)
下列
tag-resource
範例會將兩個具有索引鍵名稱和類型的標籤,以及 testName 和 testType 值新增至 CodeDeploy 中名為 testApp 的應用程式: CodeDeploy.:aws deploy tag-resource \ --resource-arn
arn:aws:codedeploy:us-west-2:111122223333:application:testApp
\ --tagsKey=Name,Value=testName
Key=Type,Value=testType
如果成功,此命令不會產生輸出。
如需詳細資訊,請參閱 CodeDeploy 使用者指南中的在 CodeDeploy 中標記部署群組的執行個體。 AWS CodeDeploy
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 TagResource
。
-
下列程式碼範例示範如何使用 uninstall
。
- AWS CLI
-
解除安裝內部部署執行個體
下列
uninstall
範例會從現場部署執行個體解除安裝 AWS CodeDeploy Agent,並從執行個體中移除現場部署組態檔案。它不會在 AWS CodeDeploy 中取消註冊執行個體,也不會取消 AWS CodeDeploy 中任何內部部署執行個體標籤與執行個體的關聯,也不會刪除與執行個體相關聯的 IAM 使用者。aws deploy uninstall
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的解除安裝
。
-
下列程式碼範例示範如何使用 untag-resource
。
- AWS CLI
-
從資源移除標籤 (應用程式)
下列
untag-resource
範例會從 CodeDeploy 中名為 testApp 的應用程式中移除兩個具有金鑰名稱和類型的標籤。aws deploy untag-resource \ --resource-arn
arn:aws:codedeploy:us-west-2:111122223333:application:testApp
\ --tag-keysName
Type
如果成功,此命令不會產生輸出。
如需詳細資訊,請參閱 CodeDeploy 使用者指南中的在 CodeDeploy 中標記部署群組的執行個體。 AWS CodeDeploy
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UntagResource
。
-
下列程式碼範例示範如何使用 update-application
。
- AWS CLI
-
變更應用程式的詳細資訊
下列
update-application
範例會變更與使用者帳戶相關聯的應用程式名稱 AWS 。aws deploy update-application \ --application-name
WordPress_App
\ --new-application-nameMy_WordPress_App
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateApplication
。
-
下列程式碼範例示範如何使用 update-deployment-group
。
- AWS CLI
-
變更部署群組的相關資訊
下列
update-deployment-group
範例會變更與指定應用程式相關聯的部署群組設定。aws deploy update-deployment-group \ --application-name
WordPress_App
\ --auto-scaling-groupsMy_CodeDeployDemo_ASG
\ --current-deployment-group-nameWordPress_DG
\ --deployment-config-nameCodeDeployDefault.AllAtOnce
\ --ec2-tag-filtersKey=Name,Type=KEY_AND_VALUE,Value=My_CodeDeployDemo
\ --new-deployment-group-nameMy_WordPress_DepGroup
\ --service-role-arnarn:aws:iam::80398EXAMPLE:role/CodeDeployDemo-2
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateDeploymentGroup
。
-