- 产品›
- Amazon CodeDeploy
Amazon CodeDeploy 功能
概述
Amazon CodeDeploy 是一项可以将应用程序自动部署到任意实例的服务,这些实例包括 Amazon EC2 实例以及本地运行的实例。CodeDeploy 能完全自动执行应用程序部署流程,无需手动操作。通过滚动更新和部署健康跟踪功能,CodeDeploy 可确保应用程序在部署期间不会停机。CodeDeploy 让您可以通过亚马逊云科技管理控制台、CLI、SDK 或 API 对部署进行集中控制,从而启动、管理和监控部署流程。您可以查看部署进度,细化到每个实例上运行的各个设置事件。CodeDeploy 可跟踪和存储您最近的部署历史记录,因此您可以调查时间表并更改过去的部署历史记录。
Amazon CodeDeploy 与平台和语言无关,适用于任何应用程序,让您可以重复使用现有的设置代码。此外,借助 Amazon CodeDeploy API,您还能轻松将应用程序部署与现有的软件交付流程或持续交付工具链集成。
页面主题
自动化部署
全部打开您可以借助 Amazon CodeDeploy 轻松地在不同的实例组间重复部署应用程序。CodeDeploy 采用基于文件和命令的安装模式,这使其能够部署任何应用程序并重复使用现有的设置代码。用于将修订版本部署到开发实例进行调试的设置代码,可同样用于将其部署到暂存实例进行测试,随后再部署到生产环境以向客户发布。消除部署中的人工操作可提高软件交付过程的速度和可靠性。
Amazon CodeDeploy 与 Auto Scaling 集成,有助于应用程序软件在动态变化的基础设施中保持为最新版。借助 Auto Scaling,您可以根据定义的条件(如流量高峰)自动扩展或缩小 Amazon EC2 容量。每次有新实例加入 Auto Scaling 组时,CodeDeploy 都会收到通知,并在新实例添加到弹性负载均衡器之前,自动在该实例上执行应用程序部署。
您可以使用 Amazon CodeDeploy 在任意实例(包括您自己的数据中心的实例)运行的开发、测试以及生产环境中自动部署代码(实例必须能够连接亚马逊云科技公共端点)。这使您能够通过单一服务,在混合架构中一致地部署应用程序。
最大程度地减少停机时间
全部打开使用 Amazon CodeDeploy 将应用程序升级到新版本时,无需停机。CodeDeploy 可对一组实例执行滚动更新,同一时间只有一小部分实例处于离线状态。CodeDeploy 会逐步在所有实例上完成更新,确保应用程序始终可用并持续处理流量。CodeDeploy 还支持蓝绿部署:预置一组新实例并在其上安装最新版本。在新实例上安装新版本后,CodeDeploy 会将流量从生产实例重新路由到新实例。
部署运行状况追踪与滚动更新同时运行,从而保持应用程序在部署期间高度可用。如果部署了不良更新,将会发生意外停机。Amazon CodeDeploy 会监控多实例部署中每个实例的更新成功与否。您可以指定需要保持正常运行状况的实例最小数,如果实例更新失败次数过多,CodeDeploy 将停止部署。
您可以使用亚马逊云科技管理控制台、Amazon CLI 或任何亚马逊软件开发工具包随时停止正在进行的应用程序部署。如果您想稍后继续已经停止的部署,只需重新部署该修订版即可。您还可以通过重新部署以前的版本立即回滚。
集中控制
全部打开您可以直接通过亚马逊云科技管理控制台,或使用 Amazon CLI、SDK 及 API,启动、控制和监控所有应用程序到目标实例的部署。您可以查看部署进度,细化到每个实例上运行的各个设置事件。如果发生故障,无需登录单个实例,就能准确定位出现故障的具体实例和脚本。您还可以设置推送通知,通过 Amazon Simple Notification Service 以短信或电子邮件的方式监控部署状态。
可以将应用程序部署到多个部署组。部署组是一组实例,例如暂存或生产环境。您可以在暂存环境中测试某个修订版本,满意后再将同一修订版本部署到生产环境。 Amazon CodeDeploy 通过标签或自动扩缩组名称来定义部署组。要将实例添加到部署组中,您只需为其加上标签,Amazon CodeDeploy 将在您下次部署时将最新修订版本的应用程序自动部署到其中。
Amazon CodeDeploy 将跟踪并存储最近的部署历史记录。您可以查看在您的各个目标部署组中目前都部署了哪些应用程序版本。您可以检查过去在特定部署组中进行部署的更改历史记录和成功率。您还可以调查实例级事件和过去进行部署的时间表,从而详细了解您的部署成功和失败情况。
易于采用
全部打开Amazon CodeDeploy 采用基于文件和命令的安装模式,这使其能够部署任何应用程序并重复使用现有的设置代码。CodeDeploy 通过一个 AppSpec 配置文件,将应用程序中的文件映射到其主机目标位置,并指定在每个生命周期事件(部署阶段)要运行的命令,例如“install dependencies”或“stop server”。 这些命令可以是任何代码,如 shell 脚本、自定义程序,甚至是配置管理工具。
使用 Amazon CodeDeploy API 可以轻松地将应用程序部署与您现有的软件交付工具链集成。有些亚马逊云科技合作伙伴已预先将其持续集成和持续交付服务与 CodeDeploy 集成,从而使您的最新应用程序版本能轻松地自动部署到您的实例中。