- 1.54 MB
- 16页
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
大规模持续集成持续交付如何实施章屹
大纲1、云效的背景2、何谓持续集成和持续交付3、云效平台的持续集成持续交付效果5、为什么互联网出现了真正意义上的持续集成持续交付6、云持续集成持续交付实现
云效的背景2012年,B2B退市,业务要发展,内部要效能变✔️内部产品交付有窗口限制,加班发布成常态✔️2012年开始建设云效2013年口号“让天下没有难做的测试”耕✔️B2B实现集团第一个持续交付✔️2014年底覆盖集团BU十个,月活4000转2015年目标:“让天下没有难做的工程效能”✔️2015年第一家专有云用户——众安保险。创立云效
何谓持续集成大师MartinFowler对持续集成是这样定义的:持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
何谓持续交付持续交付并不是指软件每一个改动都要尽快的部署到产品环境中。它指的是任何的修改都已证明可以在任何时候实施部署。—CarlCaum(@ccaum)August,2013持续交付(ContinuousDelivery)是一系列的开发实践方法,用来确保让代码能够快速、安全的部署到产品环境中,它通过将每一次改动都提交到一个模拟产品环境中,使用严格的自动化测试,确保业务应用和服务能符合预期。因为使用完全的自动化过程来把每个变更自动的提交到测试环境中,所以当业务开发完成时,你有信心只需要按一次按钮就能将应用安全的部署到产品环境中。—CarlCaum(@ccaum)August,2013
大型系统的持续交付难点超大型系统特点123开发团队人数众多应用数量众多(数百甚并行开发的项目小需求(数十甚至上千)。至上千),应用之间调众多(数百甚至上千),用关系千丝万缕、错中各项目小需求的商业上复杂。线时间各不相同。
云效-项目的一生
传统交付原理传统解决方案•大集成环境•固定发布时间(每周一次、两周一次、一年四次…)
持续交付实现原理•所有应用24小时随时提测并发布,无发布窗口限制•预发布集成环境,半小时完成自动化并无人值守。
AUI
阿里巴巴内部落地效果——效能的提升测试平台自动化积累数:2W+个集成验证速度:任何应用周一至周四24小时随时提交发布。阿里B2B事业群1200人技术团队(使用云效)研发效能质量提升效果日均节省资源(人)集成验证发布耗时历年故障数自动化case积累数量UI接口前端201220132014201520112013201420152011201220132014201520122015
阿里巴巴DevOps后各角色职能转变DevOps优化模式开发团队•开发:Dev转成DevTestOps,开发、测试、运维全做。DevTestOps•测试:转为测试开发,赋能DevTestOps的开发自测,并为质量和效率承担最终责任。赋能赋能•运维:转为运维开发,赋能DevTestOps的开发自运维,为质量和效率承担最终责任。TestToolOpsDevArchDev•工具平台:为测试开发和运维开发提供支撑。测试团队工具平台运维团队
测试角色的现状悲观测试同学开发同学部分测试同行的讲话:全栈•“我会坚持自动化,哪怕领导反对、别人质疑,我也会继续走这条路…”保姆型•“哪天你们看不到我来讲了,说明我已经不在测试这个行业了,已经转型成功了…”我老被开发主管挑战,要求列出自动化的投入产出比。这个怎么算?团队自动化的发展前景被主管的个人喜好所决定。
测试角色的未来在哪里测试角色的三板斧技术有哪些(未来一年内我们必须掌握的技术)•自动化脚本排查技术(AUI、接口):我会观察咨询量•环境技术:我会观察环境稳定性前提:网站的业务架构和技术架构,各应用•测试数据自动化技术:我会观察使用量答案三个字——在技术(注意:绝对不的依赖关系是开发技术)123
处理好参与各方的问题如何处理好参与各方的问题:开发、测试、过程改进问题对策开发对自动化依赖程度大幅提•得到开发和测试同学认可的高效升,自动化环节的任何问题(执能的工具系统和平台行、响应、排查)造成的开发抱•详细的自动化度量统计,将各方怨存在放大的可能问题透明化。•开发和测试、过程改进同学的共同目标须达成一致。•测试同学自动化能力的提升(所有业务线测试同学必须参与到自动化工作中)