查看原文
其他

大咖专栏 | 新上线!AWS CodeDeploy自动部署初相识

2017-04-27 田明晶 AWS


大咖专栏

大咖专栏主要刊登亚马逊AWS诸位大咖亲自撰写的Blog,内容涉猎广泛,话题讨论前沿,且与实战紧密相连。我们非常欢迎小伙伴们在评论区留言,与大咖互动交流!


今天为大家撰文的大咖,是我们的AWS解决方案架构师——田明晶老师。

田明晶

AWS解决方案架构师

田明晶拥有18年IT、互联网工作经验,曾在中国联通互联网中心、Sun、Oracle等公司担任技术支持工程师、咨询顾问。他在2014加入AWS,担任云技术支持工程师,现任职解决方案架构师。田明晶在存储、数据库方面有多年经验;对大数据、容器和各种前沿技术(深度学习、AI等)有浓厚的兴趣和技术积累。

作为一个开发运维人员,

您是否还在头疼:


1.    如何快速地将新版本应用部署到大批量服务器,无论其是云服务器EC2还是本地服务器?

2.    如何在部署过程中消除停机时间?

3.    如何规避易于出错的手工操作?

4.    在遇到问题时,如何快速回滚?并及时向您发送通知?

今天,我们很高兴地宣布:AWS的CodeDeploy服务能够助您一臂之力!它能够协助您将应用程序部署到 Amazon EC2 实例和/或非 Amazon EC2 实例的物理或虚拟设备。应用程序包扩:代码、Web 和配置文件、可执行文件、程序包、脚本等可部署的内容。


AWS CodeDeploy 支持从 Amazon S3 存储桶和 GitHub 存储库部署应用程序。


您无需更改现有代码即可使用 AWS CodeDeploy。您可以使用 AWS CodeDeploy 控制跨 Amazon EC2 实例部署的速度,并定义要在每个阶段采取的操作。

AWS CodeDeploy 具备下列优势

·   自动部署。AWS CodeDeploy 可完全自动部署应用程序,并随您的基础设施进行扩展,让您能够部署到数千个实例。


·   最大程度减少停机时间。AWS CodeDeploy 可以最大程度地提高应用程序的可用性。支持滚动部署和蓝/绿部署模式。并根据您配置的规则跟踪应用程序运行状况。


·  停止并回滚。出现错误时,您可以自动或手动停止和回滚部署。


·  易于采用。AWS CodeDeploy 与平台无关,适用于任何应用程序。您可以轻松重用设置代码。AWS CodeDeploy 还能与您的软件发布过程或持续交付工具链集成。


AWS CodeDeploy 支持如下2种部署模式

·  就地部署:对部署组中的实例依次执行脱机操作/更新应用/恢复联机的操作,完成滚动部署。


·  蓝绿部署:创建一组新的替换实例,并安装新版本的应用程序。成功后,切换流量到这些新实例,删除旧实例,完成部署。AWS CodeDeploy 运行您在切换流量之前,对新版本应用程序进行测试。如果发现问题,您可以快速回滚到旧版本

此外,您还可以对蓝绿部署模式做更多控制:

·   您可以选择是手工创建一组新实例,还是完全复制运行中的自动扩展组?

·   您可以选择何时切换流量?按照什么比例切换流量?

·   以及在部署完成后,是否删除旧实例?

下面,我们以一个具体示例来演示如何进行蓝绿部署。

第一步:启动部署向导,搭建测试应用

步骤1:登录 AWS 管理控制台,选择AWS CodeDeploy 服务


步骤2:如果显示介绍页面,请选择 Get Started Now。如果显示 Applications 页面,请在 More info 中,选择 示例部署向导


步骤3:选择 Sample deployment


步骤4:选择 Blue/green deployment


步骤5: Key pair name 根据您账户中的设置选择,其它选项保持默认设置。

点击 Launch environment

此时,CloudFormation会为您创建一个堆栈 – 一个简单的Web网站:由一个ELB和3台Web服务器组成,并配置了自动扩展组。


几分钟后,您将会看到Congratulations! Your environment is ready页面

 Sample application 部分,您可以点击http://BlueGreenLoadBalancer-xxx查看Web网站内容(注意背景色是蓝色)

在Sample blue/green deployment部分,记下新版本应用程序的S3地址 https://s3.cn-north-1.amazonaws.com.cn/aws-codedeploy-cn-north-1/samples/latest/SampleApp2_Linux.zip,后续步骤会用到。

第二步:修改部署模式为“蓝绿部署”

步骤1:在CodeDeploy控制台,选择  Applications -> BlueGreenDemoApplication(刚创建的应用程序) -> BlueGreenDemoFleet-xxx(刚创建的部署组)。在 Actions下拉菜单中,选择“Edit

步骤2:在新页面中,将 Deployment Type 设置为 Blue/green deployment,并点击 Save

注:在该页面中,您还可以设置更灵活的部署方式,是否发送通知,如何回滚等。

在接下来的内容里,我们会介绍:


第三步:如何部署一个新版本

第四步:如何观察部署过程和结果


请感兴趣的小伙伴点击“阅读原文”

或扫描/长按识别下方的二维码

阅读完整版文章


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存