【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

中国工商银行软件开发中心代码扫描建设之路

中国工商银行软件开发中心

  • 2022-06-27
  • 本文字数:2115 字

    阅读完需:约 7 分钟

中国工商银行软件开发中心代码扫描建设之路

为满足不断变化和日益增长的市场需求,中国工商银行软件开发中心(以下简称工行软开)一直在探索提升组织级 IT 效能,DevOps 作为近年来兴起的软件工程文化和实践,目标是缩短开发周期,提高部署频率和更可靠的发布,这与工行软开的诉求不谋而合。随着工行软开 DevOps 转型深入推进,产品交付质量和速度都在快速提升,软件质量管控作为 DevOps 转型中的重要组成部分,代码扫描手段在保障软件高质量交付过程中起到了重要作用。

一、代码扫描中心建设背景


为了保证产品质量,工行软开基于研发过程建设了强制执行的质量门禁,以及完善的测试体系,有效地守护了软件质量。但是随着业务研发规模的不断增长,为满足不断变化和日益增长的市场需求,对软件质量守护和效能提升提出了更高要求,对研发赋能、统一质量视图、质效度量及工具链支撑等全流程代码质量管控有迫切需求。主要体现在以下 4 个方面:

编码辅助能力不足


质量门禁平均每月强制打回大量静态代码扫描问题,先污染后治理成本高,问题事后治理困难,急需编码实时辅助工具,降低编码成本,提高本地编码质量。

扫描工具共享生态不完善


代码扫描组件、规则库建设不统一,共享生态不够完善,存在规则重复建设问题,需要一个标准化的扫描工具管理平台。

代码质效数字化管理待完善


缺少开发者视角的全面代码质效数字化视图,提升团队代码质量缺少统一科学数据指导,无法客观全面的挖掘团队能力短板,帮助开发提升研发效能。

工具链支撑不够完善


随着数字化转型的不断推进,应用开发需求快速增长,同时面临的安全风险也越来越大,为实现各类漏洞排查、技术规范检查快速高效,保证研发质量,急需进一步提升工具链排查的自动化能力。

二、代码扫描中心建设思路


针对以上问题,建设代码扫描中心,通过提供 IDE 编码辅助、建设扫描工具共享生态及数字化质效度量体系,实现研发全流程的工具支撑及数字化的精准质效度量,从而全面提升研发效能。


三、代码扫描中心实施方案


根据扫描中心建设思路,主要对以下六个领域实施建设:

建设本地研发助手


建设研发助手,打造一个集合多种编码辅助功能的本地插件,在编码阶段提供实时代码质量检查及标准资产快速检索复用的能力,有效辅助开发在编码过程中潜移默化的学习并提升开发能力,同时提高编码质量、提升编码效率,赋能开发。


利用编码阶段的实时代码质量检查,将代码扫描由编码后向编码中推进,在编码阶段提供实时规范检查及修改建议,不仅解决了编码后缺陷治理困难的问题,同时帮助开发在编码中不断学习并提升开发能力。另外,对标准化代码及构件进行管控,帮助开发人员完成快速引入,辅助标准化资产编写、快速上传,支持开发人员修改和完善标准化资产,实现标准资产快速检索复用,提升开发人员效能。

建设自助代码扫描流水线


通过搭建云端的基础运行环境,将 JENKINS、执行机等全部云化管理,业务代码逻辑与基础运行环境完全解耦,实现环境按需自动弹性伸缩,为全行代码的快速扫描提供了有力保障。


建设可复用、可定制、可编排的自助代码扫描流水线前后端服务,实现流水线调度、编排等核心功能,为基础组件提供自助快速串接流水线能力,将代码资产、代码缺陷等进行集中管理,为技术管理、安全管控、测试质量管控提供一体化支撑能力,有效提升专项排查效能、团队自查能力。


统一管理扫描规则


通过对扫描规则进行标准化的统一管理,提升规则可读性及可执行性,实现规则资源合理利用。首先,对规则进行分层管理,根据开发组织层级和专项内容对规则进行分级分类管理,按照不同方向对规则进行分层,同时增加关键字方便查询使用。其次,对历史规则进行信息完善,增加规则标签信息,如唯一标识、大小分类、背景来源、扫描范围、作用效率等,帮助完善规则信息。最后,建立规则关系图,剔除无效规则、重复规则,将分层规则向上集成,按照开发组织层级进行规则继承管理,对于强制级别规则必须启用,实现规则的标准化管理。


通过对扫描规则的分层管理、信息完善和建立规则关系图,为工行软开提供统一的标准化扫描规则管理,避免产生规则孤岛状态,减少资源浪费,有效提升研发效能。

建设扫描工具共享生态


建设统一的扫描工具管理平台,支撑扫描工具共建共享,有效避免重复建设。通过提供统一快捷的扫描工具管理页面,实现扫描工具的审批上线、快速配置、实时更新等。同时将扫描引擎与扫描规则解耦部署,扫描规则更新实时生效,实现扫描规则热加载。

建设质效度量全视图


覆盖本地编码、持续集成、持续部署、持续交付的多维度度量指标,建设质效度量全视图,为团队提供全面直观的数字化代码质量度量,为开发提供个人维度度量视图,助力团队和个人挖掘开发能力短板、聚焦能力成长,为提升开发效能提供有力抓手。

组建虚拟专家团队


成立流水线专家团队,对扫描工具接入进行准入管控,在技术管理、安全管控、测试质量管控等领域提供专业的组件接入审查及支持,保障流水线运行安全稳定。

四、未来展望


依托 DevOps 理念,工行软开金融科技全面建立需求、研发、投产、生产运营统一协作的研发运营一体化机制,不断提高研发供给能力和研发质效,优化 DevOps 工具体系和流程,建设高效能、自动化的工具链。未来将继续聚焦安全稳定和快速交付的目标,持续完善 DevOps 研发运营一体化能力,不断推进数字化转型进程。

2022-06-27 14:529100

评论 3 条评论

发布
用户头像
挺好的, 向上汇报的好材料
2022-09-14 10:25 · 上海
回复
用户头像
一大堆废话,无任何干货
2022-07-01 09:46
回复
用户头像
期待贵行的法务团队,也来介绍下工作心得
2022-06-29 15:16
回复
没有更多了
发现更多内容

如何使用ShareSDK快速实现Android APP的社会化分享登录功能

MobTech袤博科技

AutoCAD安装失败,提示错误“Error 112”和安装进度条倒退为0

互联网搬砖工作者

推荐一个比jmeter更轻量的开源测试平台:RunnerGo

爱研究代码的极客人

Jmeter 性能测试 自动化测试 压力测试 LoadRunner

修复SSH在 MacOS Ventura 系统上不能使用RSA签名的问题

互联网搬砖工作者

2023年,LED显示屏配套设备急需升级和优化

Dylan

产品 制造 LED显示屏

Web前端设计开发工具集(JS框架、CSS预处理)

2D3D前端可视化开发

前端开发 代码编辑器 css预处理器 web前端开发 前端开发工具

对tidb-lightning导入机制的一点点研究

TiDB 社区干货传送门

故障排查/诊断 TiDB 源码解读

TiCDC+Confluent同步数据到Oracle

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 安装 & 部署 数据库架构设计

Nautilus Chain主网上线在即空投规则公布,如何获得更多的空投?

威廉META

Docker等容器技术如何与移动开发相结合

FinClip

喜讯!华秋电子荣登“2022年中国产业互联网百强企业”榜单

华秋电子

从DPU角度,谈谈关于国产OS开源社区发展的思考

大禹智芯

DPU 国产OS开源社区

用138个案例讲明白了Spring全家桶+Docker+MQ

Java你猿哥

spring 面试 Spring Cloud Spring Boot 面经

BGA焊接问题解析,华秋一文带你读懂

华秋电子

2023年GitHub爆火的spring全家桶进阶笔记震撼开源!

开心学Java

Java spring springboot spring-cloud

重磅消息!ChatGPT 联网,Milvus & Zilliz 正式嵌入用于向量检索!

Zilliz

非结构化数据 Milvus Zilliz 向量数据库 ChatGPT

可观测性之谷歌性能主管最新的有关LCP的文章

Yestodorrow

性能 可观测性 用户体验

从反脆弱角度说一说:技术系统高可用性策略

小小怪下士

Java 程序员 系统设计 后端 秒杀

photoshop 2023存储为窗口显示空白、黑屏如何解决

互联网搬砖工作者

SSO认证是什么意思?有哪些优势?

行云管家

SSO认证

实用性好的云管平台有哪些?咨询电话多少?

行云管家

云计算 云资源 云管理

二本4年Java经验,五面阿里艰苦经历(定薪45K),回馈一波心得体会

Java你猿哥

Java redis 面试 Spring Boot 面经

mysql-online-ddl是否需要rebuild

TiDB 社区干货传送门

如何在树莓派上使用MQTT协议

EMQ映云科技

树莓派 物联网 IoT mqtt 企业号 3 月 PK 榜

【v6 认证】PCTA/PCTP/PCSD 我的备考经验

TiDB 社区干货传送门

社区活动 新版本/特性发布 TUG 话题探讨 6.x 实践

MobPush iOS SDK API

MobTech袤博科技

直播指南!解锁 OceanBase DevCon • 2023

OceanBase 数据库

数据库 oceanbase

流量调度、微服务可寻址性和注册中心

有态度的马甲

Chaosd 模拟两地三中心集群的网络环境

TiDB 社区干货传送门

实践案例 管理与运维 故障排查/诊断 安装 & 部署

中国音乐市场增长超28%,首次成为全球第五大市场

HIFIVE音加加

知识产权 娱乐 音乐 版权 娱乐产业

多平台小程序一站式管理分享

FinClip

中国工商银行软件开发中心代码扫描建设之路_文化 & 方法_InfoQ精选文章