

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

 [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)是一项完全托管的部署服务，可自动将应用程序部署到计算服务，例如亚马逊 EC2、[亚马逊弹性容器服务](https://aws.amazon.com/ecs/) (Amazon ECS) 或本地服务器。[AWS Lambda](https://aws.amazon.com/lambda/)Organizations 可以 CodeDeploy 用来自动部署应用程序，并从部署过程中移除容易出错的手动操作。 CodeDeploy 可以与各种应用程序内容一起使用，包括代码、无服务器函数、配置文件等。

 CodeDeploy 旨在用作*构建块*服务，其重点是帮助应用程序开发人员部署和更新在现有基础架构上运行的软件。它不是 end-to-end应用程序管理解决方案，旨在与其他 AWS 部署服务（如[AWS CodeStar](https://aws.amazon.com/codestar/)其他 AW [S 开发人员工具](https://aws.amazon.com/products/developer-tools/)）和第三方服务（有关[AWS CodeDeploy 产品集成的完整列表，请参阅产品集成](https://aws.amazon.com/codedeploy/product-integrations/)）一起使用，作为完整 CI/CD 管道的一部分。[AWS CodePipeline](https://aws.amazon.com/codepipeline/)此外， CodeDeploy 不代表用户管理资源的创建。

*表 3： AWS CodeDeploy 部署功能*


|  能力  |  说明  | 
| --- | --- | 
|  供应  |   CodeDeploy 旨在与现有计算资源一起使用，不会代表您创建资源。 CodeDeploy 需要将计算资源组织到一个名为*部署组*的结构中，以便部署应用程序内容。  有关链接到计算资源的更多 CodeDeploy详细信息，请参阅[中的 CodeDeploy 使用部署组](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-groups.html)。  | 
|  配置  |   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)，它可能会创建更多资源来支持 blue/green 部署。 | 
|  监控  |   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_cn/whitepapers/latest/overview-deployment-options/images/image4.png)


* AWS CodeDeploy 用例*

## AWS CodeDeploy 对于 AWS Lambda
<a name="codedeploy-for-lambda"></a>

 AWS CodeDeploy f AWS Lambda or 使您能够自动执行无服务器部署，从而更好地控制和了解应用程序的发布。您可以使用 CodeDeploy 将新版本的无服务器功能部署到一小部分用户或流量，并随着您对新版本的信心逐渐增加流量。使用 CodeDeploy，您可以定义部署组，这些部署组代表一组 Lambda 函数，这些函数接收来自同一事件源的流量。例如，您可以为由 API Gateway 或亚马逊 EventBridge 规则启动的一组 Lambda 函数创建部署组。然后，您可以使用创建部署 CodeDeploy，该部署会将新版本的无服务器函数部署到指定的部署组。

 CodeDeploy 还允许您定义部署配置，该配置指定部署设置，例如部署类型、部署策略和流量转移规则。您可以使用 Canary 部署策略将新版本的无服务器函数部署到一小部分流量，并在增加新版本的流量之前监控其运行状况和性能。

 通过使用 CodeDeploy 无服务器，您可以自动化部署过程，减少发布应用程序新版本所需的时间和精力，并提高无服务器功能的稳定性和可靠性。