[发明专利]一种代码质量管控方法与系统在审
| 申请号: | 202210914039.9 | 申请日: | 2022-08-01 |
| 公开(公告)号: | CN115408269A | 公开(公告)日: | 2022-11-29 |
| 发明(设计)人: | 景壮;孙乐恬;于希光;玄德 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 郗艳荣 |
| 地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 代码 质量 方法 系统 | ||
1.一种代码质量管控方法,其特征在于:在自动化测试过程中,通过代码质量管理工具sonar和组件漏洞测试工具dependency-check获取代码单元测试覆盖率、可靠性、重复率、阻断性问题个数以及通过组件漏洞测试工具dependency-check扫描后标签为CRITICAL与HIGH的问题的个数,并将获取到的数据作为评定依据,从人工代码审查过程中获取讨论个数,讨论是否解决情况以及对应请求的合并个数参与评定;最终根据评定结果是否符合代码规范来决定流水线执行成功还是失败,从而控制合并请求是否被合并入指定分支,若流水线执行失败,则该代码不能被合并入指定分支,从而自动阻止不合格代码的流入;
所述代码规范是指将从自动化检测模块和人工审查模块中获取得到的属性与代码规范自定义数值进行比较,比较规则如下:
若在代码藏中对应合并请求中点赞个数小于代码规范自定义数值A1,则流水线执行失败;
若合并请求中的讨论数小于代码规范自定义数值A2,则流水线执行失败;
若在已有讨论中存在带有“未解决”标签的讨论,则流水线执行失败;
若组件漏洞测试工具dependency-check扫描到的问题标签中CRITICAL与HIGH种类的个数大于代码规范自定义数值A3,则流水线执行失败;
若代码单元测试覆盖率和可靠性小于代码规范自定义数值A4,则流水线执行失败;若重复率和阻断性问题个数大于代码规范自定义数值A5,则流水线执行失败。
2.根据权利要求1所述的代码质量管控方法,其特征在于:采用GitLab作为代码仓库,开启GitLab中的CI/CD服务,将流水线执行结果作为合并请求的执行条件之一;同时在源代码的根目录下添加.gitlab-ci.yaml文件,并在.gitlab-ci.yaml文件中创建自动化检测模块和人工审查模块;
将代码规范和GitLab中流水线的执行结果进行绑定,并将流水线最终的执行结果作为代码是否能够合并到指定分支的依据,自动阻止不合格代码的流入,以保证代码质量。
所述自动化检测模块用于应用执行代码质量管理sonar测试和组件漏洞测试dependency-check检测;
所述人工审查模块用于获取指定合并请求当中的讨论详情。
3.根据权利要求2所述的代码质量管控方法,其特征在于:当研发人员向合并请求中的合并分支提交代码时,触发GitLab流水线自动执行,流水线根据当前合并分支中的代码进行代码质量检查工作,同时在流水线中给出代码检查各个属性的当前数值,以及代码质量管理工具sonar和组件漏洞测试工具dependency-check的检测报告生成地址;研发人员根据返回的地址找到报告中不合格属性的位置,并予以改正。
4.根据权利要求3所述的代码质量管控方法,其特征在于:基于人工审查模块,当有审查员对指定的合并请求提出讨论时,对应的研发人员将收到通知邮件;在流水线执行过程中,对于没有进行回复的讨论以及已回复但没有修改讨论状态的情形,研发人员根据讨论结果对分支代码进行修改。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210914039.9/1.html,转载请声明来源钻瓜专利网。





