自动化实例部署

可重复部署

您可以通过 AWS CodeDeploy 在不同的实例组之间轻松重复应用程序部署过程。CodeDeploy 使用基于文件和命令的安装方式,这样可以部署任何应用程序并重复使用现有设置代码。您可以使用相同的设置代码,在 Amazon EC2 实例的整个部署、测试和生产发布阶段一致地部署和测试更新。消除部署中的人工操作提高了软件交付过程的速度和可靠性。

自动扩展

AWS CodeDeploy 让您能够集成软件部署和扩展活动,从而使应用程序在动态生产环境中保持最新。对于 Amazon EC2 实例,CodeDeploy 与 Auto Scaling 集成。Auto Scaling 让您可以根据自己定义的条件(如流量高峰)自动扩展 EC2 容量。当新实例进入 Auto Scaling 组时,CodeDeploy 会收到通知,并且在新实例添加到 Elastic Load Balancing 负载均衡器之前,CodeDeploy 会在该新实例上自动执行应用程序部署。

本地部署

您可以使用 AWS CodeDeploy 在任何实例上运行的开发、测试和生产环境中自动执行软件部署,这些实例包括您的数据中心中的实例(您的实例必须能够连接到 AWS 公共终端节点)。这样,您只需要使用一项服务即可在不同混合架构中稳定地部署应用程序。

最大程度地减少停机时间

滚动更新和蓝/绿更新

通过 AWS CodeDeploy 将应用程序更新到新版本时,不需要停止运行该应用程序。AWS CodeDeploy 可以对 Amazon EC2 实例、Amazon ECS 服务(EC2 和 AWS Fargate 启动类型)或 AWS Lambda 功能执行蓝/绿部署。通过蓝/绿部署,新版本的应用程序将与旧版本一起启动。一旦新版本经过测试并宣布准备就绪,CodeDeploy 即可根据您的规范将流量从您之前的版本转移到新版本。

CodeDeploy 还可以在一组 Amazon EC2 实例中执行滚动更新,并且在任何时候其中只有一小部分实例会离线。CodeDeploy 会逐步处理所有实例,让应用程序能够保持可用状态并继续提供流量。对于 AWS Lambda 函数,传入流量会逐渐从旧版本路由到新版本。

部署运行状况跟踪

部署运行状态追踪与滚动更新共同发挥作用,可以保持应用程序在部署期间高度可用。如果部署了不良更新,有可能会发生意外停机。AWS CodeDeploy 会监控您的部署,并会在发生太多次更新失败时停止部署。

停止和回滚

您可以使用 AWS 管理控制台、AWS CLI 或任何 AWS 开发工具包随时停止正在执行的应用程序部署。如果您在之后想要继续进行已停止的部署,则只需重新部署该版本即可。您还可以通过重新部署以前的版本来立即回滚。

集中控制

监控和控制

您可以直接通过 AWS 管理控制台、AWS CLI、开发工具包或 API 来启动、控制和监控软件部署。如果发生故障,您可以准确找到出现故障的脚本。您还可以设置推送通知,通过 Amazon Simple Notification Service 提供的 SMS 或电子邮件信息监控部署状态。

部署组

可以将一个应用程序部署到多个部署组中。部署组用于将配置与特定环境(例如转储环境或生产环境)进行匹配。您可以在转储环境中测试新版本,并在满意后将相同的代码和相同的部署说明部署到生产环境中。

部署历史记录

AWS CodeDeploy 可以追踪和存储最近的部署历史记录。您可以查看各个目标部署组中目前部署了哪些应用程序版本。您可以查看以往的部署在特定部署组中的更改历史记录和成功率。您还可以查看以往部署的时间轴,详细了解部署的成功和失败情况。

易于采用

与语言和架构无关

AWS CodeDeploy 使用基于文件和命令的安装方式,因此可以部署任何应用程序并重新使用现有设置代码。CodeDeploy 使用单个 AppSpec 配置文件,您可以使用该文件在每个生命周期事件(部署阶段)运行操作、测试或验证。这些命令可以是任何代码,例如 shell 脚本、自定义程序,甚至是配置管理工具。

工具链集成

使用 AWS CodeDeploy API 可以将应用程序部署与您现有的软件交付工具链轻松集成。AWS CodePipelineAWS CodeStar 和一些 AWS 合作伙伴针对持续集成和持续交付服务提供了预构建的 CodeDeploy 集成,让自动部署更新的应用程序变得非常简单。

了解有关 AWS CodeDeploy 定价的更多信息

访问定价页面
准备好开始构建了吗?
AWS CodeDeploy 入门
还有更多问题?
联系我们