[发明专利]一种代码质量管控方法与系统在审
| 申请号: | 202210914039.9 | 申请日: | 2022-08-01 |
| 公开(公告)号: | CN115408269A | 公开(公告)日: | 2022-11-29 |
| 发明(设计)人: | 景壮;孙乐恬;于希光;玄德 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 郗艳荣 |
| 地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 代码 质量 方法 系统 | ||
本发明特别涉及一种代码质量管控方法与系统。该代码质量管控方法与系统,旨在自动化测试过程中,将通过代码质量管理工具sonar和组件漏洞测试工具dependency‑check自动化测试得到的数据作为评定依据,并且从人工代码审查过程中获取讨论个数,讨论解决情况以及对应请求的合并个数参与评定;最终根据评定结果决定测试此代码质量的流水线执行是否成功,若流水线执行失败,则该代码不能被合并入指定分支。该代码质量管控方法与系统,通过在流水线执行过程中,进行代码的自动化测试以及人工代码审查的方式对代码进行评价,从源码合并阶段控制流入的代码质量,同时通过代码规范的硬性执行方式规范了研发人员的编码习惯,提高了研发人员的编码质量。
技术领域
本发明涉及软件研发管理技术领域,特别涉及一种代码质量管控方法与系统。
背景技术
当前使用GitLab构建私有代码仓库已成为很多公司和企业的选择。研发人员在使用 GitLab提交代码时,由于技术水平和编码习惯的差异,随着代码合并请求的增多造成代码质量的下降。当前可以通过制定代码规范和有效的管控方式保证代码质。
仓库管理系统GitLab提供了CI/CD的流水线功能,流水线执行的结果可以进一步关联合并请求进一步执行过程的权限。因此将代码规范和流水线的执行结果进行绑定,可以有效的控制不合格代码的流入。
代码规范包含两个模块,代码质量自动化检测和人工审查两个模块。通过在这两个模块中获取指定的属性与制定的代码规范指标进行比较,若符合规范则流水线执行成功,若不符合规范则流水线执行失败。流水线失败则失去进一步合并分支操作的能力。
基于上述情况,本发明提出了一种代码质量管控方法与系统。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的代码质量管控方法与系统。
本发明是通过如下技术方案实现的:
一种代码质量管控方法,其特征在于:在自动化测试过程中,通过代码质量管理工具 sonar和组件漏洞测试工具dependency-check获取代码单元测试覆盖率、可靠性、重复率、阻断性问题个数以及通过组件漏洞测试工具dependency-check扫描后标签为CRITICAL与HIGH的问题的个数,并将获取到的数据作为评定依据,从人工代码审查过程中获取讨论个数,讨论是否解决情况以及对应请求的合并个数参与评定;最终根据评定结果是否符合代码规范来决定流水线执行成功还是失败,从而控制合并请求是否被合并入指定分支,若流水线执行失败,则该代码不能被合并入指定分支,从而自动阻止不合格代码的流入;
所述代码规范是指将从自动化检测模块和人工审查模块中获取得到的属性与代码规范自定义数值进行比较,比较规则如下:
若在代码藏中对应合并请求中点赞个数小于代码规范自定义数值A1,则流水线执行失败;
若合并请求中的讨论数小于代码规范自定义数值A2,则流水线执行失败;
若在已有讨论中存在带有“未解决”标签的讨论,则流水线执行失败;
若组件漏洞测试工具dependency-check扫描到的问题标签中CRITICAL与HIGH种类的个数大于代码规范自定义数值A3,则流水线执行失败;
若代码单元测试覆盖率和可靠性小于代码规范自定义数值A4,则流水线执行失败;
若重复率和阻断性问题个数大于代码规范自定义数值A5,则流水线执行失败。
采用GitLab作为代码仓库,开启GitLab中的CI/CD服务,将流水线执行结果作为合并请求的执行条件之一;同时在源代码的根目录下添加.gitlab-ci.yaml文件,并在.gitlab-ci.yaml文件中创建自动化检测模块和人工审查模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210914039.9/2.html,转载请声明来源钻瓜专利网。





