System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于多租户模式的源代码质量扫描方法、设备及介质技术_技高网

基于多租户模式的源代码质量扫描方法、设备及介质技术

技术编号:41525545 阅读:16 留言:0更新日期:2024-06-03 22:59
本发明专利技术涉及一种基于多租户模式的源代码质量扫描方法、设备及介质,该方法包括:将Jenkins和SonarQube拆分为多组进行部署,每组设置多个Jenkins节点且每组的Jenkins节点请求同一SonarQube,多组部署后形成多租户模式;根据项目工程自动构建Jenkins的Jobs任务并进行SonarQube任务分配;所述SonarQube对分配到的任务进行源代码质量扫描并回传扫描结果。与现有技术相比,本发明专利技术具有源代码扫描效率高的优点。

【技术实现步骤摘要】

本专利技术涉及代码管控,尤其是涉及一种基于多租户模式的源代码质量扫描方法、设备及介质


技术介绍

1、目前,业界对于源代码质量管控最普及的是基于持续交付流水线的中心化代码质量管控方案,比如sonarqube,将代码质量扫描引擎作为持续交付流程中的一部分,代码扫描与代码质量管控,并且以web页面的方式提供代码质量问题查询页面,帮助用户修改问题。

2、经过检索,中国专利技术专利申请cn110674035a,公开了一种自动化代码扫描方法、系统、装置及存储介质,该方法利用gitlab代码仓库存储代码,并将与新改动的项目代码对应的变更事件通知到jenkins,jenkins再调用sonarqube的代码扫描服务,最终将代码扫描结果收集分析并可视化。然而,上述sonarqube采用的是单线程任务扫描,对于多个工程的源代码扫描都需要进行排队等待,极为耗时。

3、因此,如何提升sonarqube对源代码的扫描效率成为急需要解决的技术问题。


技术实现思路

1、本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供了一种源代码扫描效率高的基于多租户模式的源代码质量扫描方法、设备及介质。

2、本专利技术的目的可以通过以下技术方案来实现:

3、一种基于多租户模式的源代码质量扫描方法,该方法包括:

4、将jenkins和sonarqube拆分为多组进行部署,每组设置多个jenkins节点且每组的jenkins节点请求同一sonarqube,多组部署后形成多租户模式;

5、根据项目工程自动构建jenkins的jobs任务并进行sonarqube任务分配;

6、所述sonarqube对分配到的任务进行源代码质量扫描并回传扫描结果。

7、优选地,每组jenkins子节点采用集群分布式安装,每组jenkins子节点中设置有一个主节点以进行任务调度,通过统一配置主节点完成jenkins集群的信息部署。

8、优选地,每组中jenkins节点与sonarqube数量配比为3:1。

9、优选地,每个sonarqube分配的任务数量一致。

10、优选地,所有sonarqube节点的回调信息统一设置。

11、优选地,根据项目工程调用jenkins节点的api接口动态创建jobs任务。

12、优选地,所述方法还包括:将sonarqube节点回传的扫描结果统一回传至报表系统,并以报表形式进行数据展示和分析。

13、优选地,所述报表系统采用spring boot、spring cloud和mybatis的组合进行框架搭建。

14、一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现任一项所述的方法。

15、一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现任一项所述的方法。

16、与现有技术相比,本专利技术具有以下有益效果:

17、1)本专利技术建立jenkins和sonarqube多租户关系,按照比例形成多对一的多租户模式架构,实现并发扫描效果,提升了sonarqube对源代码的扫描效率。

18、2)每组jenkins子节点数量安装部署sonarqube,比例按照3:1的模式进行组装,可实现sonarqube最佳源代码扫描效率。

19、3)项目工程自动构建jenkins动态创建job任务并进行sonarqube任务分配,自动化程度更高。

20、4)根据sonarqube返回数据进行统一归纳并以报表的形式进行数据展示和分析,提高了源代码扫描结果的可视性。

本文档来自技高网...

【技术保护点】

1.一种基于多租户模式的源代码质量扫描方法,其特征在于,该方法包括:

2.根据权利要求1所述的一种基于多租户模式的源代码质量扫描方法,其特征在于,每组Jenkins子节点采用集群分布式安装,每组Jenkins子节点中设置有一个主节点以进行任务调度,通过统一配置主节点完成Jenkins集群的信息部署。

3.根据权利要求1所述的一种基于多租户模式的源代码质量扫描方法,其特征在于,每组中Jenkins节点与SonarQube数量配比为3:1。

4.根据权利要求1所述的一种基于多租户模式的源代码质量扫描方法,其特征在于,每个SonarQube分配的任务数量一致。

5.根据权利要求1所述的一种基于多租户模式的源代码质量扫描方法,其特征在于,所有SonarQube节点的回调信息统一设置。

6.根据权利要求1所述的一种基于多租户模式的源代码质量扫描方法,其特征在于,根据项目工程调用Jenkins节点的API接口动态创建Jobs任务。

7.根据权利要求1所述的一种基于多租户模式的源代码质量扫描方法,其特征在于,所述方法还包括:将SonarQube节点回传的扫描结果统一回传至报表系统,并以报表形式进行数据展示和分析。

8.根据权利要求7所述的一种基于多租户模式的源代码质量扫描方法,其特征在于,所述报表系统采用Spring boot、Spring Cloud和MyBatis的组合进行框架搭建。

9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~8任一项所述的方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~8中任一项所述的方法。

...

【技术特征摘要】

1.一种基于多租户模式的源代码质量扫描方法,其特征在于,该方法包括:

2.根据权利要求1所述的一种基于多租户模式的源代码质量扫描方法,其特征在于,每组jenkins子节点采用集群分布式安装,每组jenkins子节点中设置有一个主节点以进行任务调度,通过统一配置主节点完成jenkins集群的信息部署。

3.根据权利要求1所述的一种基于多租户模式的源代码质量扫描方法,其特征在于,每组中jenkins节点与sonarqube数量配比为3:1。

4.根据权利要求1所述的一种基于多租户模式的源代码质量扫描方法,其特征在于,每个sonarqube分配的任务数量一致。

5.根据权利要求1所述的一种基于多租户模式的源代码质量扫描方法,其特征在于,所有sonarqube节点的回调信息统一设置。

6.根据权利要求1所述的一种基于多租户模...

【专利技术属性】
技术研发人员:江谭铁锦程李虎曾毅峰刘佳利丁文涛
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:

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

1