步骤 3:使用 CodeDeploy 控制台部署应用程序 - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

步骤 3:使用 CodeDeploy 控制台部署应用程序

在本节中,您将创建一个 CodeDeploy 应用程序和部署组,以便将更新的应用程序部署到 Amazon ECS 中。在部署期间,将应用程序的生产流量 CodeDeploy 转移到新的替换任务集中的新版本。要完成此步骤,您需要以下各项:

  • Amazon ECS 集群名称。

  • Amazon ECS 服务名称。

  • 应用程序负载均衡器名称。

  • 生产侦听器端口。

  • 目标组名称。

  • 您创建的 S3 存储桶的名称。

创建 CodeDeploy 应用程序
  1. 登录 Amazon Web Services Management Console 并打开 CodeDeploy 控制台,网址为 https://console.aws.amazon.com/codedeploy/

  2. 选择创建应用程序

  3. Application name(应用程序名称)中,输入 ecs-demo-codedeploy-app

  4. Compute platform(计算平台)中,选择 Amazon ECS

  5. 选择创建应用程序

创建 CodeDeploy 部署组
  1. 在应用程序页面的 Deployment groups(部署组)选项卡上,选择 Create deployment group(创建部署组)

  2. Deployment group name(部署组名称)中,输入 ecs-demo-dg

  3. 服务角色中,选择一个授予 CodeDeploy 对 Amazon ECS 访问权限的服务角色。有关更多信息,请参阅 适用于 Amazon CodeDeploy的身份和访问管理

  4. 环境配置中,选择 Amazon ECS 集群名称和服务名称。

  5. 负载均衡器中,选择将流量提供给 Amazon ECS 服务的负载均衡器的名称。

  6. 生产侦听器端口中,选择将生产流量提供给 Amazon ECS 服务的侦听器的端口和协议(例如,HTTP: 80)。本教程不包括可选的测试侦听器,因此请勿从 Test listener port(测试侦听器端口)中选择端口。

  7. Target group 1 name(目标组 1 名称)Target group 2 name(目标组 2 名称)中,选择两个不同的目标组以在部署期间路由流量。请确保它们是您为负载均衡器创建的目标组。哪个用于目标组 1 和哪个用于目标组 2 并不重要。

  8. 选择 Reroute traffic immediately(立即重新路由流量)

  9. 对于 Original revision termination(原始修订终止),选择 0 天、0 小时和 5 分钟。与使用默认值(1 小时)相比,这可以让您更快地完成部署。

    CodeDeploy 控制台的环境配置部分。
  10. 选择 Create deployment group(创建部署组)

部署您的 Amazon ECS 应用程序
  1. 从部署组控制台页面中,选择 Create deployment(创建部署)

  2. 对于部署组,选择ecs-demo-dg

  3. 对于 Revision type(修订类型),选择 My application is stored in Amazon S3(我的应用程序存储在 Amazon S3 中)。在 Revision location(修订位置)中,输入 S3 存储桶的名称。

  4. 对于 Revision file type(修订文件类型),根据情况选择 .json.yaml

  5. (可选)在 Deployment description(部署描述)框中,为部署输入描述。

  6. 选择 Create deployment(创建部署)

  7. 您可以在 Deployment status(部署状态)中监控部署。在生产流量已全部路由至替换任务集并等待五分钟之后,您可以选择终止原始任务集,以立即终止原始任务集。如果未选择 Terminate original task set(终止原始任务集),则原始任务集将在您指定的五分钟等待时间到期后终止。

    CodeDeploy 控制台的部署状态部分。