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