[发明专利]一种静态代码扫描方法、系统、服务器及存储介质有效
申请号: | 201811219252.8 | 申请日: | 2018-10-19 |
公开(公告)号: | CN109002295B | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 付晶晶 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/658 |
代理公司: | 武汉河山金堂专利事务所(普通合伙) 42212 | 代理人: | 胡清堂;陈懿 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 静态 代码 扫描 方法 系统 服务器 存储 介质 | ||
本发明公开了一种静态代码扫描方法、系统、服务器及存储介质,应用于代码管理领域。本发明提供的方法包括:获取通过gitlab创建的分支,判定所述分支为新创建的分支后,存入gitlab数据库,并标识所述分支;激活所述分支的监控组件;定时获取所有已激活分支,并判断当前每个已激活分支的标识与最新提交分支的标识是否相同;当标识不一致时,调用Jenkins的API,扫描所述最新提交分支的全量代码;比对所述最新提交分支的扫描结果和所述最新提交分支的代码变更位置,获取增量有效结果,并将所述增量有效结果传送至服务器。本发明不仅可以有效避免扫描全部代码的资源耗费,且能完整扫描增量代码的规则配置,并实现代码扫描流程的全自动化。
技术领域
本发明涉及代码管理领域,尤其涉及一种静态代码扫描方法、系统、服务器及存储介质。
背景技术
随着计算机技术的快速发展,对应的应用开发技术也日趋成熟。通常在应用程序开发过程中,会涉及代码由不同分支来开发,并对代码版本进行管理。通过代码的版本管理多是通过一些扫描工具实现,这些工具大同小异,侧重点会各有不同。
目前,常用的代码版本管理会扫描所有分支中代码,这种方式扫描时间较长,而最新的改进方案中,会分别对原始代码和增量代码进行扫描,这种方式可以有效提高代码扫描效率,但这样难以得到最新提交代码的一些规则,扫描结果不完整。
发明内容
本发明实施例提供了一种静态代码扫描方法、系统、服务器及存储介质,能够高效完整扫描发生变更的分支的全量静态代码。
结合本发明实施例的第一方面,提供了一种静态代码扫描方法,包括:
获取通过gitlab创建的分支,判定所述分支为新创建的分支后,存入gitlab数据库,并标识所述分支;
激活所述分支的监控组件;
定时获取所有已激活分支,并判断当前每个已激活分支的标识与最新提交分支的标识是否相同;
当当前每个已激活分支的标识与最新提交分支的标识不一致时,调用Jenkins的API,扫描所述最新提交分支的全量代码;
比对所述最新提交分支的扫描结果和所述最新提交分支的代码变更位置,获取增量有效结果,并将所述增量有效结果传送至服务器。
结合本发明实施例的第二方面,提供了一种静态代码扫描的系统,包括:
入库模块:用于获取通过gitlab创建的分支,判定所述分支为新创建的分支后,存入gitlab数据库,并标识所述分支;
激活模块:用于激活所述分支的监控组件;
判断模块:用于定时获取所有已激活分支,并判断当前每个已激活分支的标识与最新提交分支的标识是否相同;
扫描模块:用于当当前每个已激活分支的标识与最新提交分支的标识不一致时,调用Jenkins的API,扫描所述最新提交分支的全量代码;
上传模块:用于比对所述最新提交分支的扫描结果和所述最新提交分支的代码变更位置,获取增量有效结果,并将所述增量有效结果传送至服务器。
结合本发明实施例的第三方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请第一方面提供的方法的步骤。
结合本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请第一方面提供的方法的步骤。
第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被一个或多个处理器执行时实现本申请第一方面提供的所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811219252.8/2.html,转载请声明来源钻瓜专利网。