HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

新上线!AWS CodeDeploy 自动部署初相识

  • 2019-11-18
  • 本文字数:2313 字

    阅读完需:约 8 分钟

新上线!AWS CodeDeploy自动部署初相识

作为一个开发运维人员,您是否还在为:


  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



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

第三步:部署一个新版本

步骤 1:在前一步返回的页面中,依旧选择之前的部署组 BlueGreenDemoFleet-xxx在 Actions 下拉菜单中,选择 Deploy New Version



步骤 2:在新页面中,在 Revision location* 中,填入之前记录的新版本应用程序所对应的 S3 地址:https://s3.cn-north-1.amazonaws.com.cn/aws-codedeploy-cn-north-1/samples/latest/SampleApp2_Linux.zip,并点击 Deploy


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


在接下来的页面中,您将会看到整个部署过程:



在 EC2 控制台,您会看到创建了 3 个新实例。


部署完毕后,在页面底部您可以看到新创建的 3 个实例接替了所有流量,原有的 3 个实例不再接收流量,并被终止。



您也可以随时在控制台的 Applications -> Deployments 点击相应的部署 ID 查看详情。


使用浏览器重新刷新 Web 页面,背景色已变成绿色。



至此,蓝绿部署完毕。


测试完毕,为避免产生后续费用,请按照以下顺序清除所有资源:


  1. 替换环境的实例所属的 Auto Scaling 组。(删除 AWS CloudFormation 堆栈时,与原始环境中的实例关联的 Auto Scaling 组也将被删除。)

  2. 示例部署向导 创建的用于为蓝/绿部署提供原始环境的 CloudFormation 堆栈。

  3. 示例部署向导 创建的 AWS CodeDeploy 部署组和应用程序。


除了管理 AWS 的 EC2 实例,AWS CodeDeploy 还能够管理您本地数据中心的物理服务器和/或其它环境中的虚拟服务器,只需在其上安装相应的 Agent 即可实现混合云管理和部署。目前支持的操作系统包括:Amazon Linux/RHEL/Ubuntu/Windows。


如要获取更详细的帮助信息,请参考 AWS CodeDeploy 中文文档:http://docs.amazonaws.cn/codedeploy/latest/userguide/welcome.html


作者介绍:



田明晶


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


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/codedeploy/


2019-11-18 08:00938

评论

发布
暂无评论
发现更多内容

如何快速将钉钉员工信息同步到飞书

RestCloud

Linux设备树(DTS)

梦笔生花

Linux

客户削减项目开发预算,试试华为云这款轻量应用服务器保质保量

YG科技

电商网站防崩溃秘诀来袭!华为云这款轻量应用服务器稳赚不赔

轶天下事

解锁数据潜力:为什么你应该考虑使用向量数据库

熬夜磕代码、

数据库

大语言模型|人工智能领域中备受关注的技术

许思王

人工智能 大语言模型

容器中sh脚本明明存在,为何会报"no such file or directory"的错误?

大伟

git Docker autocrlf

小程序开发经费紧张,华为云这份省钱秘笈请点赞收藏

YG科技

基于javacv的人脸识别和图片内容审核方案

智慧源点

人脸识别 内容审核

“出海”在即?华为云这份跨境电商运营指南让新手商家少走弯路

平平无奇爱好科技

CSS选择器

阡陌r

CSS 选择器 伪元素 伪类

跨境电商网站运营最苦岗位?华为云这款轻量应用服务器轻松胜任

平平无奇爱好科技

年终企业采购潮来袭!华为云这款轻量应用服务器值得入手

轶天下事

跨境电商网站旺季爆单崩溃?华为云这款轻量应用服务器值得拥有

平平无奇爱好科技

ETL数据转换工具类型与适用场景

RestCloud

ETL

C语言与C++语言混合编程的方法

王玉川

c 混合编程 C++

中小企业如何以最低成本数字化?华为云耀云服务器L实例给出完美答案

平平无奇爱好科技

“跨”入蓬勃生长新时代,华为云耀云服务器L实例赋能跨境电商

平平无奇爱好科技

项目开发冲刺难度大?华为云这款轻量应用服务器助力大好“收官战”

平平无奇爱好科技

『亚马逊云科技产品测评』活动征文|如何使用Docker compose快速搭建个人博客?

鸽芷咕

Docker 容器 云服务器

内卷出奇迹!华为云耀云服务器L实例凭实力成为_卷王_

平平无奇爱好科技

降维打击_友商_?华为云这款轻量应用服务器性能全面升级

平平无奇爱好科技

轻量应用服务器领域,这款产品何以被冠“国民级”美誉

平平无奇爱好科技

外贸网站预算持续削减,这个轻量应用服务器搞定老板

YG科技

企业ERP实施仍存三大难点,华为云耀云服务器L实例助力破局

平平无奇爱好科技

还迷信传统服务器开发小程序游戏?华为云耀云服务器L实例才是“正道”

平平无奇爱好科技

推出链上美债产品的 ProsperEx:RWA 衍生品赛道的早期玩家

股市老人

双11终极之战,华为云耀云服务器L实例点燃狂欢高潮

YG科技

高效率低成本!网站开发还得仰仗华为云这款宝藏工具

平平无奇爱好科技

穿越经济寒冬,华为云这款轻量应用服务器助力企业破局新生

平平无奇爱好科技

数字化尽头是轻量应用服务器,华为云耀云服务器L实例打开无限可能

轶天下事

新上线!AWS CodeDeploy自动部署初相识_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章