使用 CodeDeploy 创建应用程序 - AWS CodeDeploy

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

使用 CodeDeploy 创建应用程序

网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的应用程序只是 CodeDeploy 使用的名称或容器,确保在部署期间引用正确的修订、部署配置和部署组。您可以使用 CodeDeploy 控制台、AWS CLI、CodeDeploy API 或AWS CloudFormation模板创建应用程序。

您的代码(即应用程序修订)将通过一个名为 “部署” 的过程安装到实例。CodeDeploy 支持两种类型的部署:

  • 就地部署:部署组中每个实例上的应用程序将停止,安装最新的应用程序修订版,然后启动并验证应用程序的新版本。您可以使用负载均衡器,以便在部署期间取消注册每个实例,然后在部署完成后让其重新提供服务。只有使用 EC2/本地计算平台的部署才能使用就地部署。有关就地部署的更多信息,请参阅就地部署概述

  • 蓝/绿部署:部署的行为取决于使用的计算平台:

    • EC2/本地计算平台上的蓝/绿部署计算平台上的蓝/绿:部署组中的实例 (原始环境) 将被不同的实例集 (替换环境) 所代替,步骤如下:

      • 针对替换环境预置实例。

      • 替换实例上安装了最新的应用程序修订。

      • 应用程序测试和系统验证等活动将出现可选的等待时间。

      • 替换环境中的实例向 EElastic Load Balancing cer 注册,导致流量路由到这些实例。原始环境中的实例将取消注册,可终止或继续运行以供其他使用。

      注意

      如果您使用 EC2/本地计算平台,请注意蓝/绿色部署仅适用于 Amazon EC2 实例。

    • 蓝/绿部分的蓝/绿AWSLambda 计算平台:流量将从当前无服务器环境转移到包含更新后的 Lambda 函数版本的环境。您可以指定执行验证测试的 Lambda 函数并选择流量转移的方式。全部AWSLambda 计算平台部署是蓝/绿部署。因此,您无需指定部署类型。

    • Amazon ECS 计算平台上的蓝/绿:流量将从 Amazon ECS 服务中使用原始版本应用程序的任务集转移到同一服务中的替换任务集。您可以通过部署配置将流量转移设置为线性或 Canary。指定负载平衡器侦听器的协议和端口用于重新路由生产流量。在部署期间,在运行验证测试时,可以使用测试侦听器为替换任务集提供流量。

    • 通过 进行蓝/绿部署AWS CloudFormation:流量将从当前资源转移到更新后的资源,作为AWS CloudFormation堆栈更新。目前,仅支持 ECS 蓝/绿部署。

    有关蓝/绿部署的更多信息,请参阅蓝/绿部署概述

当您使用 CodeDeploy 控制台创建应用程序时,可同时配置其首个部署组。当您使用 AWS CLI 创建应用程序时,可在单独的步骤中创建其首个部署组。

要查看已向您的 AWS 账户注册的应用程序的列表,请参阅使用 CodeDeploy 查看应用程序详细信息。有关使用 AWS CloudFormation 模板创建应用程序的信息,请参阅 AWS CloudFormation用于 CodeDeploy 参考的模板

这两个部署类型不适用于所有目标。下表列出了哪些部署类型与到三种部署目标类型的部署一起使用。

部署目标 就地 蓝/绿
Amazon EC2
本地
Serverless (无服务器)AWSLambda 函数
Amazon ECS 应用程序