中国工商银行软件开发中心质量门禁流水线实践
时间:2023-12-29 13:32:00 来源:王者荣耀 作者:admin 栏目:国内电商 阅读:
作者 | 工行软开中心
中国工商银行软件开发中心按照“科技驱动、价值创造”的工作思路,开启 DevOps 转型的研究与探索,不断深化自身对 DevOps 的理念认知。经过多年实践,形成了稳定、高效、易用的 DevOps 质量门禁体系,实现代码规范、单元测试覆盖情况、安全漏洞等维度的长效质量管控机制, 为快速高质量交付业务价值提供了有力支撑。
一、平台建设思路
中国工商银行软件开发中心在建设质量门禁流水线过程中,通过深入剖析一线研发管理痛点,聚焦“更快、更稳、更好用”的目标,从高可用的架构体系、高效的执行引擎、全面的扫描规则、灵活的质量门禁、智能化的运维等方面着手,不断提升平台支撑能力,助力研发效能提升。
1. 高可用的流水线架构体系:通过构建代码提交事件的监听、调度以及执行集群,形成高可用架构体系。首先针对业界开源监听组件不稳定问题,通过自研分布式监听组件,实现稳定监听代码提交事件。其次,针对代码提交高峰期的性能瓶颈问题,构建可动态扩缩容的任务执行集群,平滑处理任务高峰。最后,针对任务负载不均衡的问题,基于任务分布与服务器性能重构负载均衡算法,将任务分配到最优节点上。
2. 高效的流水线执行引擎:通过对流水线执行各环节进行分析,从代码检出效率提升、任务合理编排、扫描组件效率提升三个方面持续完善流水线执行引擎。首先,通过磁盘挂载机制,实现高速访问和同步更新,大幅减少网络传输的开销和延时,缩短了代码检出时长。其次,通过流水线各任务组件依赖的合理编码,实现任务组件的最大化并发调度。最后,通过扫描组件任务线程池和开展低效扫描组件持续识别、治理,不断提升扫描组件执行效率。
3. 全面丰富的代码扫描规则:通过对扫描规则的分层管理、信息完善和建立规则关系图,形成标准化扫描规则管理体系。首先,根据研发组织层级和专项分类对规则进行分级分类管理。其次,对规则进行信息完善,增加规则标签信息,如唯一标识、扫描范围、作用效率等,剔除低效、重复规则。最后,建立规则关系图,将分层规则向上集成,按照开发组织层级进行规则继承管理,对于强制级别规则必须启用,实现规则的标准化管理。目前扫描规则支持 Java、XML、Hive 等 21 种语言的检查,覆盖 3 千多个扫描规则。
4. 多级管控的质量门禁:通过对质量门禁进行分级,对门禁指标进行分类,形成灵活的多级管控机制。首先,质量门禁包含企业级和团队级两种指标体系,企业级分为 1-4 级门禁通用体系,团队级可结合本身成熟度,基于企业级进行扩展,拟定分级分类质量门禁指标,并将相关指标纳入质量门禁流水线中控制。其次,门禁支持十几种指标体系,涉及代码规范、单元测试、安全漏洞等领域,丰富全面的指标体系有效守护代码质量。
5. 智能化的运维体系:聚焦服务不中断的运维目标,基于可观测性指标、日志和链路三大支柱,形成故障可视化、分析智能化、应急一键化智能运维体系。基于 Prometheus 监控报警系统,完成服务器 CPU、内存、连接数等各类技术支撑指标的全面监控,实现服务集群性能实时可观测。基于业务交易链路实现流水线执行次数、执行耗时、执行成功率等业务指标收集、分析和预测。以及利用人工智能算法对运维日志挖掘分析,沉淀运维经验,实现故障的快速发现、定位与应急能力。在运行过程中,依托智能化的运维体系,不断完善应急监控方案,持续完善平台能力,提升运维质量与效率。
二、实施成果
通过建设稳定高效的质量门禁流水线,实现代码下载、编译构建、质量扫描、持续集成的自动化管控流程,支撑每日万次级代码持续集成任务,保障中国工商银行软件开发中心分布在七地多址研发人员的协同高效研发。形成“标准化、自动化、可度量”的长效质量管控机制,质量门禁实现标杆水平占比超过 80%,单元测试成功率 100%,增量程序覆盖率 100%,变更行覆盖率 90% 以上,静态代码增量、存量高中风险问题清零,代码质量稳步提升,版本差错率逐步下降。
三、未来展望
中国工商银行软件开发中心经过不断探索实践,以持续快速交付业务价值为目标,通过建立 DevOps 标准体系、建设高效能、自动化的工具链,以及 DevOps 教练培养,形成涵盖需求、研发、投产、生产运营全生命周期的研发运营一体化机制。未来,进一步完善 DevOps 工具链智能化、数字化能力,不断提升研发质量与效率,推进研发模式数字化转型。
阅读本书更多章节>>>>本文链接:http://www.kjpai.cn/news/2023-12-29/132330.html,文章来源:王者荣耀,作者:admin,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
上一篇:把坟埋我家地里?直播掘墓者开箱全章节免费在线阅读,唐玄机完结版
下一篇:返回列表