阿里技术沙龙_第1页
阿里技术沙龙_第2页
阿里技术沙龙_第3页
阿里技术沙龙_第4页
阿里技术沙龙_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

豆瓣阅读中的持续集成/发布实践豆瓣

孙毅豆瓣阅读豆瓣阅读是

豆瓣读书推出的数字阅读服务拥有质量一流的内容支持Web、iPad、iPhone、Android、Kindle等多种设备提供极佳的阅读体验社会化阅读WhyCI?减少风险减少重复过程任意时间,地点可部署可见性信心场景1-开发本地服务起不来了?依赖!提交了才发现问题?开发服务器网速赶不上手速…问题分析开发环境复杂且不统一本地构建困难本地没有快速反馈机制解决方案本地的统一的虚拟开发环境订阅上游依赖变更,用puppet管理大家一起贡献模块基准开发工具包简单便捷的本地ci订阅上游依赖变更必要性包依赖开发环境必须和线上环境同步升级公司内部的服务依赖,lib依赖版本升级现状:RSS订阅依赖更新消息不是很先进,但是还算可靠大家一起贡献模块必要性项目众多,每一个项目依赖和工具不同现状:fork,pull-requestPuppet主文件中用注释进行特性开关基准开发工具包工具的种类/版本工具的配置现状:静态检查单元测试Web测试简单便捷的本地集成(1)pylint/jshint基准开发工具包包含工具随项目代码进行检查项配置gitpre-commithook简单便捷的本地集成(2)unittest/apitest不干扰本地开发服务coveragenosy/tag/etc..简单便捷的本地集成(3)web测试headlesswebdriverjserrorcollectionhtmlerrorcollectionxunit对比beforenow只能在服务器开发可迁移/可定制的完整本地开发环境先提交,再跑集成测试,改bug本地先进行测试,再提交web测试只能在中心服务器本地web测试场景2-提交好大一个diff!懒得review合入的时候咋办啊。。这功能谁搞挂的?问题分析review流于形式分支合并成本高问题定位困难解决方案git/pull-requestgit分支的切换和合并成本极低以pull-request作为review单元鼓励更多提交,强制review后合并review覆盖面,针对性和参与度高几乎每次merge都会触发构建pull-request的粒度保证问题追查较容易通过构建job通知提交作者对比beforenow定期review,覆盖面小每个pull-request必须reviewreview意见很难定位到行响应也不及时review精确到行,提醒机制完善修复一目了然写一大堆再合并提交天天合并/提交(5个月,1275个pull-request,2725个review意见,全体参与)构建diff太大,出问题不知道谁的几乎每个构建只有1-2个merge(5个月,900次构建)场景3-构建大家都喜欢下班前提交跑一遍要20分钟!CI服务器又排队。。跑了15分钟才告诉我没通过:(merge把主干搞挂啦问题分析分支集成不足cisuite反馈速度慢无法获取阶段结果持续集成服务器资源问题解决方案(1)基于openingpullrequest的分支持续集成解决方案(2)构建链/测试分级corelintpylintjshintyuicheckutunitestapitestservicetestwebtestcorefullservice-syncrelease-tagstaging-regressiononline解决方案(3)冗余计算资源利用虚拟机开启jenkins-slave模块即接入ci系统控制node的tag来分配接入的job对比beforenow中心ci只跑主干代码的cisuite活动中的pull-request分支均有自己的cisuite,结果更新在pr记录中静态检查4min任务分拆并行化,关键任务11s/42s后续任务1min48s所有任务在中心服务器上排队“下午4点的困扰”大家贡献slave,大大提高了突然峰值下的执行速度,自己的任务已经可以由自己的slave全部消化cisuite中的job过大过长先跑核心,再dailybuild全量提交构建控制在10min场景4-交付上哪个版本?XX不在,怎么上线来着?手抖了。。怕出线上问题啊…解决方案(1)继承cisuite的版本状态监测/标记提交构建打包打tag解决方案(2)特性开关重大变更

均使用feature-switchswitch多种状态,可在线切换解决方案(3)直接从ci集成自动化上线从cisuite传入可上线的tag由jenkinsj

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论