

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS CodeDeploy
<a name="aws-codedeploy"></a>

 [AWS CodeDeploy](https://aws.amazon.com/codedeploy/) 是一種全受管部署服務，可將應用程式部署自動化以運算服務，例如 Amazon EC2、[Amazon Elastic Container Service](https://aws.amazon.com/ecs/) (Amazon ECS)[AWS Lambda](https://aws.amazon.com/lambda/)、 或內部部署伺服器。組織可以使用 CodeDeploy 自動化應用程式的部署，並從部署程序中移除容易出錯的手動操作。CodeDeploy 可與各種應用程式內容搭配使用，包括程式碼、無伺服器函數、組態檔案等。

 CodeDeploy 旨在用作*建置區塊*服務，專注於協助應用程式開發人員部署和更新在現有基礎設施上執行的軟體。它不是end-to-end應用程式管理解決方案，旨在與其他 AWS 部署服務搭配使用，例如 [AWS CodeStar](https://aws.amazon.com/codestar/)、、[AWS CodePipeline](https://aws.amazon.com/codepipeline/)其他 [AWS 開發人員工具和](https://aws.amazon.com/products/developer-tools/)第三方服務 （請參閱[AWS CodeDeploy 產品整合](https://aws.amazon.com/codedeploy/product-integrations/)以取得產品整合的完整清單），作為完整 CI/CD 管道的一部分。此外，CodeDeploy 不會代表使用者管理資源的建立。

* 表 3： AWS CodeDeploy 部署功能 *


|  功能  |  Description  | 
| --- | --- | 
|  佈建  |   CodeDeploy 適用於現有運算資源，不會代表您建立資源。CodeDeploy 需要將運算資源組織成稱為*部署群組*的建構模組，才能部署應用程式內容。  如需將 [ CodeDeploy 連結至運算資源的詳細資訊，請參閱在 CodeDeploy 中使用部署群組](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-groups.html)。 CodeDeploy   | 
|  設定  |   CodeDeploy 使用應用程式規格檔案來定義運算資源的自訂。  如需使用 [CodeDeploy 自訂資源的詳細資訊，請參閱 CodeDeploy AppSpec 檔案參考](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html)。 CodeDeploy   | 
|  部署  |   根據 CodeDeploy 使用的運算資源類型，CodeDeploy 提供不同的部署應用程式策略。  如需支援的[部署程序類型的詳細資訊，請參閱在 CodeDeploy 中使用](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments.html)部署。  | 
|  擴展  |  CodeDeploy 不支援擴展基礎應用程式基礎設施；不過，根據您的[部署組態](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html)，它可能會建立其他資源以支援藍/綠部署。 | 
|  監控  |   CodeDeploy 可以監控部署的成功或失敗，並提供所有部署的歷史記錄，但不提供效能或應用程式層級指標。  如需 [ CodeDeploy 提供之監控功能類型的詳細資訊，請參閱在 CodeDeploy 中監控部署](https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring.html) CodeDeploy   | 

 下圖說明 CodeDeploy 作為完整 CI/CD 解決方案一部分的一般使用案例。在此範例中，CodeDeploy 會與其他 AWS 開發人員工具搭配使用，也就是 AWS CodePipeline （自動化 CI/CD 管道）、 [AWS CodeBuild](https://aws.amazon.com/codebuild/) （建置和測試應用程式元件） 和 [AWS CodeCommit](https://aws.amazon.com/codecommit/)（原始程式碼儲存庫），以將應用程式部署至 Amazon EC2 執行個體群組。CodeDeploy 會與其他工具搭配使用，做為完整 CI/CD 管道的一部分。CodeDeploy 會管理應用程式元件在屬於部署群組的運算資源上的部署。所有基礎設施元件都是在 CodeDeploy 外部建立。

![\[AWS CodePipeline workflow showing CodeCommit, CodeBuild, CodeDeploy, and EC2 with Auto Scaling.\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/overview-deployment-options/images/image4.png)


* AWS CodeDeploy 使用案例 *

## AWS CodeDeploy 適用於 的 AWS Lambda
<a name="codedeploy-for-lambda"></a>

 AWS CodeDeploy 的 AWS Lambda 可讓您自動化無伺服器部署，讓您更妥善地控制應用程式版本。您可以使用 CodeDeploy 將新版本的無伺服器函數部署到一小部分的 使用者或流量，並在您對新版本獲得信心時逐漸增加流量。使用 CodeDeploy，您可以定義部署群組，代表一組從相同事件來源接收流量的 Lambda 函數。例如，您可以為 API Gateway 或 Amazon EventBridge 規則啟動的一組 Lambda 函數建立部署群組。然後，您可以使用 CodeDeploy 建立部署，將新版本的 erverless 函數部署到指定的部署群組。

 CodeDeploy 也可讓您定義部署組態，指定部署的設定，例如部署類型、部署策略和流量轉移規則。您可以使用 Canary 部署策略，將新版本的無伺服器函數部署到一小部分的流量，並在增加流量之前監控新版本的運作狀態和效能。

 透過將 CodeDeploy 用於無伺服器，您可以自動化部署程序、減少發佈應用程式新版本所需的時間和精力，並提高無伺服器函數的穩定性和可靠性。