使用 CodeDeploy 创建应用程序
应用程序只是一个名称或容器,CodeDeploy 使用此名称或容器来确保在部署期间引用正确的修订、部署配置和部署组。您可使用 CodeDeploy 控制台、Amazon CLI、CodeDeploy API 或 Amazon CloudFormation 模板创建应用程序。
您的代码(即应用程序修订)将通过一个名为“部署”的过程安装到实例。CodeDeploy 支持两种类型的部署:
就地部署:停止部署组中每个实例上的应用程序,安装最新的应用程序修订,然后启动和验证应用程序的新版本。您可以使用负载均衡器,以便在部署期间取消注册每个实例,然后在部署完成后让其重新提供服务。只有使用 EC2/本地计算平台的部署才能使用就地部署。有关就地部署的更多信息,请参阅就地部署概述。
蓝绿部署:部署的行为取决于使用的计算平台:
-
EC2/本地计算平台上的蓝绿部署:部署组中的实例(原始环境)将被不同的实例集(替代环境)所代替,步骤如下:
-
为替换环境配置实例。
-
在替换实例上安装最新的应用程序修订。
-
对于应用程序测试和系统验证等活动,可以选择等待时间。
-
替换环境中的实例在一个或多个 Elastic Load Balancing 负载均衡器中注册,从而导致流量被重新路由到这些负载均衡器。原始环境中的实例已注销,可以终止或继续运行以用于其他用途。
注意
如果您使用 EC2/本地计算平台,请注意蓝绿部署仅适用于 Amazon EC2 实例。
-
-
Amazon Lambda 或 Amazon ECS 计算平台上的蓝绿部署:流量根据金丝雀、线性 或一次性 部署配置以增量方式转移。
-
通过 Amazon CloudFormation 进行蓝/绿部署:作为 Amazon CloudFormation 堆栈更新的一部分,流量将从当前资源转移到更新的资源。目前,仅支持 ECS 蓝/绿部署。
有关蓝绿部署的更多信息,请参阅蓝绿部署概述。
-
当您使用 CodeDeploy 控制台创建应用程序时,可同时配置其首个部署组。当您使用 Amazon CLI 创建应用程序时,可在单独的步骤中创建其首个部署组。
要查看已向您的 Amazon 账户注册的应用程序的列表,请参阅使用 CodeDeploy 查看应用程序详细信息。有关使用 Amazon CloudFormation 模板创建应用程序的信息,请参阅 CodeDeploy 参考的 Amazon CloudFormation 模板。
这两个部署类型不适用于所有目标。下表列出了哪些部署类型与到三种部署目标类型的部署一起使用。
| 部署目标 | 就地 | 蓝/绿 |
|---|---|---|
| Amazon EC2 | 支持 | 是 |
| 本地 | 是 | 否 |
| 无服务器 Amazon Lambda 函数 | 否 | 是 |
| Amazon ECS 应用程序 | 否 | 是 |