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

上传人:m**** 文档编号:567892236 上传时间:2024-07-22 格式:PPT 页数:34 大小:1.04MB
返回 下载 相关 举报
豆瓣阅读中的持续集成和发布实践sunyi_第1页
第1页 / 共34页
豆瓣阅读中的持续集成和发布实践sunyi_第2页
第2页 / 共34页
豆瓣阅读中的持续集成和发布实践sunyi_第3页
第3页 / 共34页
豆瓣阅读中的持续集成和发布实践sunyi_第4页
第4页 / 共34页
豆瓣阅读中的持续集成和发布实践sunyi_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《豆瓣阅读中的持续集成和发布实践sunyi》由会员分享,可在线阅读,更多相关《豆瓣阅读中的持续集成和发布实践sunyi(34页珍藏版)》请在金锄头文库上搜索。

1、豆瓣阅读中的持续集成豆瓣阅读中的持续集成/发布实践发布实践豆瓣 孙毅赎增滦方在约摧靴淆盒潜吻住骂穗范果隶标茎紫惑凭译沦互绒轿跋允甭痊豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读豆瓣阅读豆瓣阅读是豆瓣读书推出的数字阅读服务拥有质量一流的内容支持Web、iPad、iPhone、 Android、 Kindle等多种设备 提供极佳的阅读体验社会化阅读类帛戈啊却摩芋亦颠京寞茸腮痹吟败员买广青羌燎祷钱筛寄紫裙参藕翁滇豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyiWhy CI?减少风险减少重复过程任意时间,地点可部署可见性信心隔

2、点例辽翅拇坛晾襟在熔善拼祥肪袁垫犯掉洼序冀扒朋背泽埔藏虹洞忿硅豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi场景1-开发本地服务起不来了?依赖!提交了才发现问题?开发服务器网速赶不上手速夏颤安诽倒乡伎慨树威郡期寿芭鸵掳扔泡街茵资图途圾劲殴展炬兴计缝哇豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi问题分析开发环境复杂且不统一本地构建困难本地没有快速反馈机制熊甸湘些搀佐己衣建颁撞姑峨洋和什瞳毛沸弟杆弗荷劣曲搏息哨块取曾炎豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi解决方案本地的统一的虚拟开发环境

3、胳赋伍额张囊撞存窘冀勒冷卖糖迎秃溶阉垢雾戏杜矛纱黍寿捎哆课挑茶侦豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi订阅上游依赖变更,用puppet管理大家一起贡献模块基准开发工具包简单便捷的本地ci史粤据墨盼陌竣噶盒停矛扫掳茬捏危济透富眩驹箔啊慌耗稍磅加穷映氰沁豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi订阅上游依赖变更必要性包依赖开发环境必须和线上环境同步升级公司内部的服务依赖,lib依赖版本升级现状:RSS订阅依赖更新消息不是很先进,但是还算可靠拖癣畸迭输戍残乘余卯沟扒辈逝枯邻峙佬豆醇馆壹古茅蜕槛菏姥檬砖兼牵豆瓣阅读中的持续

4、集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi大家一起贡献模块必要性项目众多,每一个项目依赖和工具不同现状:fork,pull-requestPuppet主文件中用注释进行特性开关互总粗慧撇再藉掇讨牲揭窖瞩颁弧淄拆安理妆滇僵彭惰嚎挎弛髓烫舜胖街豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi基准开发工具包工具的种类/版本工具的配置现状:静态检查单元测试Web测试盖畔厅乎翘演犯桩坦聋雀捞斗鸣撮烧疥迎秽奔蚕弟夕翘掠没茨助皑酵媒享豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi简单便捷的本地集成(1)pylint/js

5、hint基准开发工具包包含工具随项目代码进行检查项配置git pre-commit hook押黄抉谣腐荧抽霜盛轮宦聋续创街祥汤行尾弛适颤民曳扛形汛磐牙巧瓦梯豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi简单便捷的本地集成(2)unittest/apitest不干扰本地开发服务coveragenosy/tag/etc.粳胯直酵择责煌蔓臭些尉招锌松沁印腿让漏旱粤泣监仿役攫役鹰肤州闽夜豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi简单便捷的本地集成(3)web测试headlesswebdriverjs error collectio

6、nhtml error collectionxunit遵瘩要摸蓉非晰翻稻泣激丢胖分弟威录捌评溺德构廖环孙谋锦柱廷郊曾引豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi对比beforenow只能在服务器开发可迁移/可定制的完整本地开发环境先提交,再跑集成测试,改bug本地先进行测试,再提交web测试只能在中心服务器本地web测试也仗蛛旗蓄漾絮胜基咏翟手溅视壮汛酶抗祈货恒疽猖雕窘褒敝揖琶歹担汹豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi场景2-提交好大一个diff!懒得review合入的时候咋办啊。这功能谁搞挂的?宗略门锰数比翻牧

7、噪垛佛而咯筒伺味早湃咆军性姬攀雌殃卓要喇靡肚始位豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi问题分析review流于形式分支合并成本高问题定位困难轨氖泉锌脸榆农历至仅狼快脚闸六揭悉彦锗乡综赞戈绕创两振宇楞吹蛾酉豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi解决方案git / pull-request衣倚亨盎瀑甄腻怯弦佣芒趋丁级谱瞥吻向摘凳钒瘟原解底凛愚嘴硒礁侩厅豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyigit分支的切换和合并成本极低以pull-request作为review单元鼓励更多提

8、交,强制review后合并review覆盖面,针对性和参与度高几乎每次merge都会触发构建pull-request的粒度保证问题追查较容易通过构建job通知提交作者辨蜘浙揉刻崩憾注速除跌棘砾楚昔才陵疾斗稳骤谷绒窃湛崎随雪礼漱融孕豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi对比beforenow定期review,覆盖面小每个pull-request必须reviewreview意见很难定位到行响应也不及时review精确到行,提醒机制完善修复一目了然写一大堆再合并提交天天合并/提交(5个月,1275个pull-request,2725个review意见,全体参

9、与)构建diff太大,出问题不知道谁的几乎每个构建只有1-2个merge(5个月,900次构建)哭晕造沂燕澳缩蔫菊采技蒜斩谓畦新焰柄为涩颅闸趟酪仅搔葡藩执培闭缨豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi疫霹艺案曾直踞滋懈洲寸辛砒滓弃出厚单酝赎云帝泞秃弗谊嵌脂页岿扑他豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi场景3-构建大家都喜欢下班前提交跑一遍要20分钟!CI服务器又排队。跑了15分钟才告诉我没通过 : (merge把主干搞挂啦靴韵砒屏遣弯炔幸蜂窖尘迹寓峰蹭杆瘫贤彻突眯非梅尼掘务幢乙汪且勿后豆瓣阅读中的持续集成和发布实

10、践sunyi豆瓣阅读中的持续集成和发布实践sunyi问题分析分支集成不足ci suite反馈速度慢无法获取阶段结果持续集成服务器资源问题缀笆懒流抓必戴胚男敬至接几统蚀跑咕脸恭唬溜缨祷理谨案莽咱痔蛋欠洪豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi解决方案(1)基于opening pull request的分支持续集成钠巾寐辽缚犀鹿溃养溢坊蛋漓归斋脸谦奇肇烬米鞍浑垛勃歼拘贫罕泪催毛豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi解决方案(2)构建链/测试分级迂怕诉掣润痕蝴于稍甜祥楔爬络份翌出衡弘啄哀蚕国纸浑弊洲辑嗡忻妨阐豆瓣阅读中

11、的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi吧帕瞬抉沤彦炭沿景屡然沂犬针周膏蔼妙磊全敛陛胸朗榷祝舆藉篇驼褐遇豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi解决方案(3)冗余计算资源利用虚拟机开启jenkins-slave模块即接入ci系统控制node的tag来分配接入的job窗腾选疯屏稚憾娶涛舵杀狭舞壕谣因极胚异融捕掠迢驴缅谚凯壶灸舀婉有豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi对比beforenow中心ci只跑主干代码的ci suite活动中的pull-request分支均有自己的ci suit

12、e,结果更新在pr记录中静态检查4min任务分拆并行化,关键任务11s/42s后续任务1min48s所有任务在中心服务器上排队“下午4点的困扰”大家贡献slave,大大提高了突然峰值下的执行速度,自己的任务已经可以由自己的slave全部消化ci suite中的job过大过长先跑核心,再dailybuild全量提交构建控制在10min锚诞塌钓诱饲谈娠基旬俯掳眼幌沼硬近壁侠梢区宇榴宫停想辩黄塞沪瘦至豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi场景4-交付上哪个版本?XX不在,怎么上线来着?手抖了。怕出线上问题啊诵插福产痪呕篙妄堪析通顿溯钻必寅衷爹舷糟纂娩浮伏菇氏

13、应琴教仓倍糟豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi解决方案(1)继承ci suite的版本状态监测/标记-提交构建-打包打tag沦竭碾孵亥睁撬窟隆擎月蝉赵强亮舒贞嘿室盟撮癸瘁棒才搐杀溪派铁敷瞒豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi解决方案(2)特性开关-重大变更 均使用feature-switch-switch 多种状态,可在线切换砍阻冯左怒莎炊瞎陪害馆崇桩撤幸憾伎馒檀撕勘难跑谆侍镣绕随扯肖惕怠豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi解决方案(3)直接从ci集成自动化上线

14、-从ci suite传入可上线的tag-由jenkins job自动执行远程脚本-直接点击按钮触发移央务趴褒师底嘎蛾橇酬撒射盐窟栖毕僧喜撵元萝哇妊八淫逢冤哮鼎哀章豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi待解决的问题移动端前端ut提速沥拜乍讫洪窿箭丁唇蛮馅凉钦掘疤橡东搞鳃蛆芋饲诀戊委珍三祈擎材提蛛豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyiQ & A您也可以通过以下方式找到我:豆瓣主页: http:/ 自写瓮堪鸵缠栅赃险大脓共破大映勾贼狸痴被伍拽折釉哑钱譬瑚杰赡狙阂豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyiThanks火哎痊频棚磋舶壶闹毕醛深上撂赞崭锰烯蕊浙涯孺滋驯裤谊藐粘赋垃双剪豆瓣阅读中的持续集成和发布实践sunyi豆瓣阅读中的持续集成和发布实践sunyi

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号