基于DevOps工具链设计过程及前后效果对比.doc

上传人:白大夫 文档编号:3409779 上传时间:2019-08-22 格式:DOC 页数:2 大小:14.50KB
返回 下载 相关 举报
基于DevOps工具链设计过程及前后效果对比.doc_第1页
第1页 / 共2页
亲,该文档总共2页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于DevOps工具链设计过程及前后效果对比.doc》由会员分享,可在线阅读,更多相关《基于DevOps工具链设计过程及前后效果对比.doc(2页珍藏版)》请在三一文库上搜索。

1、基于DevOps工具链设计过程及前后效果对比点击上方“中兴开发者社区”,关注我们现状背景某项目是为配合大视频运维推出的一个项目,需求和任务管理停留在原始的ts上,项目依托svn进行代码管理,结合jenkins实现持续集成,解决方案经过研究,也借鉴公司各个兄弟项目的DevOps优秀经验并与某项目的实际情况相结合,经过不断的演进,最终形成了以TFS 作为需求和任务管理平台, 以Gerrit代码审核服务器为核心构建整合代码提交、并发测试、静态检查、评审、反馈以及入库等完整代码流程,引入分层云CI实现了代码提交评审VerifyCI、代码合入受控库MergeCI、每日代码质量检测的DailyCI三级质量

2、防护,版本持续迭代和在现网的小批量灰度发布,实现现网运维数据的收集并根据收集的数据改良我们的探针采集建模模型。端到端交付全景图2.需求任务可视化采用TFS辅助敏捷流程,跟踪需求、用户故事、Task完成情况3.云代码托管在项目敏捷化迭代演进过程中,很重要的一部分是代码管理,原来使用svn代码管理下载速度慢,非常依赖服务器的硬件资源配置, 代码提交前线下代码评审比较粗糙,评审过后需要手工合入容易出错且低效。经过对比考察,使用GIT工具管理源码,不仅提高代码获取效率,而且与Gerrit配合开启代码评审功能,提高合入效率。4.分支管理策略原来的分支策略是为不同市场定制需求采用分支版本,开发过程中公共需

3、求采用主线,具体市场发布时采用分支方式,代码同步耗时过多,极端情况下一个通用的Bug修复要同时同步到几个活跃分支, 而且CI开展只是覆盖主线问题容易泄露。切换到git后,项目调整为采取单一master主干为主,少量临时Feature分支为辅的开发模式。主干通过自动化测试和人工测试结合保证基本功能,实现代码分支实时可用,可按需发布;对于在master上开发的少量变化大的短周期Feature基于master拉分支开发,自测通过后master进行归并:5.代码评审Gerrit是一种免费、开放源代码的代码审查软件,使用网页界面。利用浏览器,同一个团队的开发人员,可以相互审阅彼此修改后的程序代码,决定是

4、否能够提交,退回或者继续修改。公司技术部统一提供Git和Gerrit支持,为了充分利用Git的特性,将项目的代码托管在公司云服务器,并通过Gerrit实现开发人员之间代码的互相审核。解决了之前人工看电影式的走查存在的不细致, 记录失真或者合入失真等问题, 下图为使用gerrit效果图:6.代码覆盖率检测在功能代码开发环节和测试用例开发环节,我们引入了gcov代码覆盖率检测工具,通过其lcov生成的扫描报告,如下图所示:7.持续集成为了提升代码产出质量,首先对某的自动化测试环节进行了梳理,把之前零散的专项工具通过基于RF(RobotFrameware)测试框架进行了改造,并引入了分层云CI, 在

5、不同维度上进行分层代码质量检测。云CI通过8.多维度制品库管理从制品库类型分:某的制品库分为snapshot、alpha、release三个库。三个库的功能各不相同,snapshot库存储CI中每日构建版本,alpha库主要存储供内部测试的稳定版本,release存储对外发布版本。1)snapshot制品库存放的是每日CI构建的过程版本,这种类型版本通过基本自动化测试,一般用于后续的临时问题验证和主线迭代手工测试。2)alpha制品库存放的是经过自动化和手工测试验证的稳定迭代版本,这种类型版本主要是要开发环节自测可内部发布,提交测试部进行后续占比约20%的系统测试。3)release制品库存放

6、的是通过系统测试,可以进行实际发布部署的版本。4)灰度发布&持续优化Release制品库中的版本,规划人员会推动现场小批量灰度升级部署,跟踪升级后的运维指标变化情况后,如果没发现异常则再安排进行大规模升级部署;如果发现有异常需要修复则反馈给开发团队修复后重新迭代发布,形成从需求到开发测试及运维的PDCA闭环。实践情况通过项目端到端的流程变革,实现了某探针项目需求开发过程更顺畅、团队产出质量明显提升,形成了需求、开发、测试和运维相关人员的及时良性互动。效果评价:代码分支从svn切换到git,下载速度快,提升了版本构建效率需求经过了充分讨论和评审,并在不同维度上进行了拆分实现了任务管理可视化,可以及时干预或调整优先级管控风险代码提交、评审到主分支入库进行了有效管控评审、CI测试、静态检查等过程有及时有效的反馈环过去现在收益推广本文简要描述了某项目尝试实践DevOps工具链的过程和前后效果对比,在端到端交付方面进行了摸索,通过优化研发流程提升了团队的整体效率,当然在很多方面我们做到还不够精细还需要继续优化完善,这个转型过程值得相关项目进行参考。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1