AWS CodeDeploy 服务可以将应用程序自动部署到各种计算服务,包括 Amazon EC2,AWS Lambda 和本地运行的实例。CodeDeploy 可完全自动化您的应用程序部署,从而不需要进行人工操作。CodeDeploy 可通过滚动更新和部署运行状况追踪来防止您的应用程序在部署期间停止运行。CodeDeploy 可让您通过 AWS 管理控制台、CLI、软件开发工具包或 API 集中控制您的部署,从而使您能够启动、控制和监控您的部署。您可以查看单个设置事件的部署进度。CodeDeploy 可追踪并存储您最近的部署历史记录,因此您可以调查时间轴并更改过去部署的历史记录。

开始免费使用 AWS

创建免费账户

获得 12 个月的 AWS 免费套餐,同时享受 AWS 的基本支持功能,包括 24x7x365 客户服务、支持论坛及更多。
查看 AWS 免费套餐详细信息 »

AWS CodeDeploy 是平台,与语言无关,可与任何应用程序协作,因此您可以再用您现有的设置代码。您还可以使用 CodeDeploy API,将应用程序部署与现有软件交付过程或持续交付工具链集成。

CodeDeploy_Header

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

AWS CodeDeploy 使您能够集成软件部署和扩展活动,从而使应用程序在动态生产环境中保持最新。对于 Amazon EC2 实例,CodeDeploy 与 Auto Scaling 集成。Auto Scaling 可使您根据您定义的条件(如流量高峰)自动向上或向下扩展 EC2 容量。无论何时新实例启动到 Auto Scaling 组中时,CodeDeploy 都会收到通知,并且在新实例添加到 Elastic Load Balancing 负载均衡器之前,它将在该新实例上自动执行应用程序部署。对于 AWS Lambda,您的函数会自动扩展以响应流量的增加或减少,并与 CodeDeploy 集成以确保部署最新的代码。

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

通过 AWS CodeDeploy 将应用程序更新到新版本时,不需要停止运行该应用程序。CodeDeploy 可以在一组实例中执行滚动更新,其中,只有一小部分实例可在任何时候离线。CodeDeploy 在实例间逐步运行,从而使应用程序保持可用并继续提供流量。对于 AWS Lambda 函数,传入流量将逐渐从旧版本传送到新版本。

AWS CodeDeploy 还可以执行蓝/绿部署,其中,将使用最新修订版本来预置和安装一组新的 Amazon EC2 实例。将新修订版本安装到新实例之后,CodeDeploy 会将流量从您的生产实例重新路由到新实例。所有 AWS Lambda 更新本质上都是蓝/绿更新,因为没有要预置的新实例。

部署运行状态追踪与滚动更新一起运行,从而保持应用程序在部署期间高度可用。如果部署了不良更新,将会发生意外停机。AWS CodeDeploy 监控您的部署,如果失败的更新过多,将停止部署。

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

您可以直接通过 AWS 管理控制台或使用 AWS CLI、SDK 或 API,启动、控制和监控软件部署。如果失败,您可以确定出现故障的脚本位置。您还可以设置推送通知,通过 Amazon Simple Notification Service 提供的 SMS 或电子邮件信息监控部署状态。

可以将一个应用程序部署到多个部署组中。部署组用于将配置与特定环境(如分段或生产环境)进行匹配。您可以在分段环境中测试修订版,然后在您感到满意时将包括相同部署说明的相同代码部署到生产环境中。

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

AWS CodeDeploy 使用基于文件和命令的安装方式,这样可以部署任何应用程序和重用现有的设置代码。CodeDeploy 使用单个 AppSpec 配置文件来映射应用程序文件或指定要更新的 AWS Lambda 函数。您可以使用 AppSpec 文件在每个生命周期事件(部署阶段)中运行操作、测试或验证。这些命令可以是任何代码,如外壳脚本、定制程序,甚至是配置管理工具。

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