https://v.qq.com/x/page/l0523ena36l.html
我们为什么要开发CodeDeploy?CodeDeploy的来源: Amazon Apollo Project
亚马逊内部使用了敏捷开发模式,软件架构采用面向服务的架构,并开发了一系列工具来协助软件开发和部署。
自动化部署;去除手工操作;最小化停机时间;当基础设施扩展后,同时更新软件部署。
AWS CodeDeploy 是一项可以将代码自动部署到任意实例中的服务。
优势
能够做到自动部署,最小化停机时间,甚至做到零停机。还有集中控制,便于使用。
自动部署
在开发、测试和生产环境间一致性部署应用程序版本;
与Auto Scaling集成;
可随着基础设施一起扩展,可部署一台或数千台EC2。
最小化停机时间
最小化停机时间的核心思想就是保证它在任何时间都要有可工作的服务器。对EC2实例执行轮流更新,跟踪被部署应用的健康状况,部署过程能够被停止或回退。
集中控制
可从AWS管理控制台、CLI、SDK和API启动、控制和监控部署,以部署组的方式组织管理你的测试或生产环境,跟踪查看部署历史。
便于使用
可部署任何类型应用并且重用已有的安装代码;与现有的软件交付工具链集成使用;可使用AWS合作伙伴提供的预集成方案。
如何开始使用CodeDeploy?如何工作
AmazonS3中会放要交给它发布的源代码、二进制、相关的页面动态文件,以及自己开发部署的脚本。所有的管理控制通过AWS CodeDeploy,Amazon EC2是一个用于放程序的目标机器。
Application
Application就是你希望在一次部署中发布到服务器上的任意内容集合。
Deployment Group
希望同时部署一致版本的一组EC2实例。
软件开发过程各个阶段有不同的部署需求
开发:最小化资源分配、快速启动、很少或没有自动化测试。
测试:资源分配需要支持性能测试、调试信息显示、自动化测试。
生产:根据业务变化自动扩展、日志文件、健康检查。
我们使用CodeDeploy还可以做什么?
自动化部署;使用合作伙伴方案与已有CI/CD过程进行集成;多平台部署;与CloudFormation进行集成。