一种对源码自动检测入库的方法和装置制造方法及图纸

技术编号:31086806 阅读:14 留言:0更新日期:2021-12-01 12:41
本申请提供了一种对源码自动检测入库的方法和装置,所述方案包括:监测代码缓存区是否有新的目标源码提交保存;在监测到有新的目标源码提交保存时,调用Jenkins工具中CI JOB,通过代码检测工具编写的自动化检测用例对所述目标源码进行自动检测,并发布检测结果;如果检测通过,则从所述代码缓存区获取所述目标源码,并入库保存;如果检测未通过,则基于发布的检测结果指示开发人员对所述目标源码进行整改以便于再次重新提交。本申请的方案能够有效提高代码审核的准确性,节约了人力物力资源且提升产品开发效率。且提升产品开发效率。且提升产品开发效率。

【技术实现步骤摘要】
一种对源码自动检测入库的方法和装置


[0001]本文件涉及代码管理
,尤其涉及一种对源码自动检测入库的方法和装置。

技术介绍

[0002]随着公司的不断发展壮大,各部门所开展的项目越来越多,为了保证公司项目的正常开展,进入版本库的源码必须先审核再入库,以避免因开发人员疏忽或者经验不足的开发人员所开发的代码直接入库,造成版本库已通过检测的版本出现错误和混乱,影响公司项目的正常开展。
[0003]代码审核是指对提交至Gerrit版本库的源码进行审核打分,所打分数超过入库分值(入库标准一般为2分)的代码才能入库。现有的代码审核入库,采用的是人工审核入库的方式,即开发人员提交代码,审核人员(通常由开发人员所在业务线的经理或者经验丰富一点的老员工担任)对代码进行预览审核,如果觉得所提交的代码没有明显缺陷或者符合入库标准,则给所提交代码给予2分,并将代码入版本库;如果所提交代码不符合入库标准,则将代码退回开发修改,修改之后再次进入提交审核入库流程。
[0004]人工审核入库缺陷在于,第一,如果项目太多,审核人员可能没办法对每次提交的代码进行逐一审核;第二,审核人员可能不是对项目每一块业务都熟悉,审核效果存在局限性;第三,每个仓库都需要审核人员,公司项目源码库上百个,开发人员提交频繁时,会造成人力物力的浪费。

技术实现思路

[0005]本专利技术提供了一种对源码自动检测入库的方法和装置,以有效提高代码审核的准确性,又节约了人力物力资源且提升了产品开发效率。
[0006]为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
[0007]第一方面,提出了一种对源码自动检测入库的方法,包括:
[0008]监测代码缓存区是否有新的目标源码提交保存;
[0009]在监测到有新的目标源码提交保存时,调用Jenkins工具中CI JOB,通过代码检测工具编写的自动化检测用例对所述目标源码进行自动检测,并发布检测结果;
[0010]如果检测通过,则从所述代码缓存区获取所述目标源码,并入库保存;
[0011]如果检测未通过,则基于发布的检测结果指示开发人员对所述目标源码进行整改以便于再次重新提交。
[0012]可选地,所述代码缓存区具体为git源码版本库,用于暂时缓存开发人员提交的一个或多个目标源码。
[0013]可选地,在发布检测结果之后,所述方法还包括:将所述检测结果与本地预设标准分进行比对;如果高于预设标准分,则确定所述目标源码自动检测通过;如果不高于预设标准分,则确定所述目标源码自动检测未通过。
[0014]可选地,监测代码缓存区是否有新的目标源码提交保存,具体包括:基于Jenkins工具发送监听指令,定时监听轮询是否有新的目标源码更新。
[0015]可选地,调用Jenkins工具中CI JOB,通过代码检测工具编写的自动化检测用例对所述目标源码进行自动检测,并发布检测结果,具体包括:
[0016]执行代码检CI JOB,基于代码检测工具sonar编写自动化检测用例,以源码为载体,通过PMD,CheckStyle,Findbugs至少三类代码规则检测工具中的一种或多种组合来检测源码,以确定源码的漏洞和异常信息,并根据漏洞和异常信息整理得到反映检测结果的检测值。
[0017]第二方面,提出了一种对源码自动检测入库的装置,包括:
[0018]监测模块,用于监测代码缓存区是否有新的目标源码提交保存;
[0019]检测模块,用于在监测到有新的目标源码提交保存时,调用Jenkins工具中CI JOB,通过代码检测工具编写的自动化检测用例对所述目标源码进行自动检测,并发布检测结果;
[0020]入库模块,用于如果检测通过,则从所述代码缓存区获取所述目标源码,并入库保存;
[0021]退回模块,用于如果检测未通过,则基于发布的检测结果指示开发人员对所述目标源码进行整改以便于再次重新提交。
[0022]可选地,所述代码缓存区具体为git源码版本库,用于暂时缓存开发人员提交的一个或多个目标源码。
[0023]可选地,在所述检测模块发布检测结果之后,还用于:将所述检测结果与本地预设标准分进行比对;如果高于预设标准分,则确定所述目标源码自动检测通过;如果不高于预设标准分,则确定所述目标源码自动检测未通过。
[0024]可选地,所述监测模块,具体用于:基于Jenkins工具发送监听指令,定时监听轮询是否有新的目标源码更新。
[0025]可选地,所述检测模块在调用Jenkins工具中CI JOB,通过代码检测工具编写的自动化检测用例对所述目标源码进行自动检测,并发布检测结果时,具体用于:
[0026]执行代码检CI JOB,基于代码检测工具sonar编写自动化检测用例,以源码为载体,通过PMD,CheckStyle,Findbugs至少三类代码规则检测工具中的一种或多种组合来检测源码,以确定源码的漏洞和异常信息,并根据漏洞和异常信息整理得到反映检测结果的检测值。
[0027]第三方面,提出了一种电子设备,包括:
[0028]至少一个存储器和至少一个处理器;所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行第一方面所述的方法。
[0029]第四方面,提出了一种计算机可读存储介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面所述的方法。
[0030]由以上本说明书一个或多个实施例提供的技术方案可见,通过项目开发人员提交已开发完成的代码,提交之后的代码先是会进入远端仓库缓存区;代码检测平台监听到版本库有新的提交,调用Jenkins平台事先开发好的CI JOB对代码进行自动检测,并发布检测报告;检测通过的版本,执行入库命名将代码入库,检测未通过的版本,开发人员根据检测
报告整改代码,再次提交审核流程。该专利技术可以有效提高代码审核的准确性,又节约了人力物力资源且提升了产品开发效率。
附图说明
[0031]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1是现有技术中代码人工审核入库的流程示意图。
[0033]图2是本说明书实施例提供的一种对源码自动检测入库的方法步骤示意图。
[0034]图3是本说明书实施例提供的自动检测入库系统原理示意图。
[0035]图4是本说明书实施例提供的Jenkins平台执行自动检测入库原理示意图。
[0036]图5是本说明书实施例提供的一种对源码自动检测入库的装置结构示意图。
[0037]图6是本说明书实施例提供的一种电子设备的结构示意图。
具体实施方式
...

【技术保护点】

【技术特征摘要】
1.一种对源码自动检测入库的方法,其特征在于,包括:监测代码缓存区是否有新的目标源码提交保存;在监测到有新的目标源码提交保存时,调用Jenkins工具中CI JOB,通过代码检测工具编写的自动化检测用例对所述目标源码进行自动检测,并发布检测结果;如果检测通过,则从所述代码缓存区获取所述目标源码,并入库保存;如果检测未通过,则基于发布的检测结果指示开发人员对所述目标源码进行整改以便于再次重新提交。2.如权利要求1所述的对源码自动检测入库的方法,其特征在于,所述代码缓存区具体为git源码版本库,用于暂时缓存开发人员提交的一个或多个目标源码。3.如权利要求2所述的对源码自动检测入库的方法,其特征在于,在发布检测结果之后,所述方法还包括:将所述检测结果与本地预设标准分进行比对;如果高于预设标准分,则确定所述目标源码自动检测通过;如果不高于预设标准分,则确定所述目标源码自动检测未通过。4.如权利要求1所述的对源码自动检测入库的方法,其特征在于,监测代码缓存区是否有新的目标源码提交保存,具体包括:基于Jenkins工具发送监听指令,定时监听轮询是否有新的目标源码更新。5.如权利要求1

4任一项所述的对源码自动检测入库的方法,其特征在于,调用Jenkins工具中CIJOB,通过代码检测工具编写的自动化检测用例对所述目标源码进行自动检测,并发布检测结果,具体包括:执行代码检CIJOB,基于代码检测工具sonar编写自动化检测用例,以源码为载体,通过PMD,CheckStyle,Findbugs至少三类代码规则检测工具中的一种或多种组合来检测源码,以确定源码的漏洞和异常信息,并根据漏洞和异常信息整理得到反映检测结果的检测值。6.一种对源码自动检测入库的装置,其特...

【专利技术属性】
技术研发人员:曾小红汪伟
申请(专利权)人:四川虹美智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1