项目聚合报告的生成方法、装置和存储介质制造方法及图纸

技术编号:21140501 阅读:34 留言:0更新日期:2019-05-18 05:00
本发明专利技术公开了一种项目聚合报告的生成方法,包括:获得至少一个项目,根据所述至少一个项目确定至少一个第一工程;将所述至少一个第一工程添加至预设的第二工程;将添加有所述至少一个第一工程的第二工程作为目标工程,对所述目标工程的源码进行聚合,获得针对所述至少一个第一工程的项目聚合报告。本发明专利技术还公开了一种项目聚合报告的生成装置和计算机可读存储介质。

【技术实现步骤摘要】
项目聚合报告的生成方法、装置和存储介质
本专利技术涉及互联网信息技术,尤其涉及一种项目聚合报告的生成方法、装置和计算机可读存储介质。
技术介绍
在微服务架构下,一个技术团队通常会管理多个项目,每个项目分属于不同的分布式版本控制系统(Git)仓库。为生成质量报告,一般会在Jenkins上对各项目做持续集成,最后手动汇聚成一份项目聚合报告。所述Jenkins是一个持续集成工具,它可以定期编译、运行相应代码、运行集成测试,将运行结果展示成项目聚合报告。获得的项目聚合报告指在软件项目的持续集成过程中,通过一些静态检查工具和编译工具等生成的代码质量报告;生成的所述代码质量报告中可以包括代码量、缺陷率、测试覆盖率、编译打包结果等质量数据。由于微服务架构下各项目拆分粒度较细,一个技术团队可能需要同时管理十几到几十个项目,采用上述项目聚合报告的生成方法需要技术人员手动将多个项目对应的报告聚合在一起,项目聚合报告的生成效率低。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种项目聚合报告的生成方法、装置和计算机可读存储介质。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术实施例提供了一种项目聚合报告的生成方法,所述方法包括:获得至少一个项目,根据所述至少一个项目确定至少一个第一工程;将所述至少一个第一工程添加至预设的第二工程;将添加有所述至少一个第一工程的第二工程作为目标工程,对所述目标工程的源码进行聚合,获得针对所述至少一个第一工程的项目聚合报告。上述方案中,所述将所述至少一个第一工程添加至预设的第二工程前,所述方法还包括:在所述第二工程的配置文件中,添加所述至少一个第一工程对所述第二工程的父依赖描述;根据所述父依赖描述,建立所述至少一个第一工程与所述第二工程的父子依赖关系。上述方案中,所述对所述目标工程的源码进行聚合前,所述方法包括:确定所述第一工程所需的至少一个第一jar包;所述第一jar包为所述第一工程无法通过底层公共包获取的jar包;在所述第二工程的配置文件中添加针对所述至少一个第一jar包的依赖描述,所述第一工程根据所述配置文件中的依赖描述获取所述至少一个第一jar包。上述方案中,所述对所述目标工程的源码进行聚合前,所述方法包括:确定所述至少一个第一工程中包含公共工程、且所述公共工程依赖第二jar包时,修改所述公共工程的配置文件中针对jar包的依赖描述,以取消所述公共工程对所述第二jar包的依赖关系;所述第二jar包为除部署有所述第二工程的maven私有仓库包含的jar包外的第三方jar包。上述方案中,所述对所述目标工程的源码进行聚合前,所述方法还包括:获取所述第二工程的源码并保存在根目录;依次获取所述至少一个第一工程的源码,在所述根目录下创建至少一个子目录;一个所述子目录对应保存一个所述第一工程的源码;根据所述根目录和所述至少一个子目录获得树状目录。上述方案中,所述对所述目标工程的源码进行聚合,获得针对所述至少一个第一工程的项目聚合报告,包括:根据所述树状目录对所述目标工程的源码进行逐层聚合,根据聚合结果获得针对所述至少一个第一工程的项目聚合报告。本专利技术实施例提供了一种项目聚合报告的生成装置,所述装置包括:第一处理模块、第二处理模块;其中,所述第一处理模块,用于获得至少一个项目,根据所述至少一个项目确定至少一个第一工程;将所述至少一个第一工程添加至预设的第二工程;所述第二处理模块,用于将添加有所述至少一个第一工程的第二工程作为目标工程,对所述目标工程的源码进行聚合,获得针对所述至少一个第一工程的项目聚合报告。上述方案中,所述第二处理模块,具体用于对所述目标工程的源码进行聚合前,获取所述第二工程的源码并保存在根目录;依次获取所述至少一个第一工程的源码,在所述根目录下创建至少一个子目录;一个所述子目录对应保存一个所述第一工程的源码;根据所述根目录和所述至少一个子目录获得树状目录;根据所述树状目录对所述目标工程的源码进行逐层聚合,根据聚合结果获得针对所述至少一个第一工程的项目聚合报告。本专利技术实施例提供了一种项目聚合报告的生成装置,所述装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行以上所述的任意一种项目聚合报告的生成方法的步骤。本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上所述的任意一种项目聚合报告的生成方法的步骤。本专利技术实施例所提供的项目聚合报告的生成方法、装置和计算机可读存储介质,获得至少一个项目,根据所述至少一个项目确定至少一个第一工程;将所述至少一个第一工程添加至预设的第二工程;将添加有所述至少一个第一工程的第二工程作为目标工程,对所述目标工程的源码进行聚合,获得针对所述至少一个第一工程的项目聚合报告。本专利技术实施例中,根据各第一工程和第二工程建立具有层级关系目标工程,从而可确定各第一工程间的关系;根据各第一工程间的关系可确定各项目间的关系,使得Jenkins可以一次性检查多个第一工程,以生成一份针对多个项目的项目聚合报告,提高项目聚合报告的生成效率。附图说明图1为本专利技术实施例提供的一种项目聚合报告的生成方法的流程示意图;图2为本专利技术实施例提供的另一种项目聚合报告的生成方法的流程示意图;图3为本专利技术实施例提供的一种项目聚合报告的生成装置的结构示意图;图4为本专利技术实施例提供的另一种项目聚合报告的生成装置的结构示意图。具体实施方式在本专利技术的各种实施例中,获得至少一个项目,根据所述至少一个项目确定至少一个第一工程;将所述至少一个第一工程添加至预设的第二工程;将添加有所述至少一个第一工程的第二工程作为目标工程,对所述目标工程的源码进行聚合,获得针对所述至少一个第一工程的项目聚合报告。下面结合实施例对本专利技术再作进一步详细的说明。图1为本专利技术实施例提供的一种项目聚合报告的生成方法的流程示意图;所述方法可以应用于服务器;如图1所示,所述方法包括:步骤101、获得至少一个项目,根据所述至少一个项目确定至少一个第一工程;将所述至少一个第一工程添加至预设的第二工程。这里,各第一工程可以分别属于不同的项目,所述项目可以分别属于不同的Git仓库,即各第一工程可以分属于不同的Git仓库。所述Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。这里,针对每个项目来说,均可以确定一个或多个第一工程。所述根据至少一个项目确定至少一个第一工程,包括:根据所述至少一个项目中的各个项目确定至少一个第一工程。具体地,所述步骤101之前,所述方法包括:获取预设的第二工程。这里,所述第二工程可以为一个空的工程;即所述第二工程既不用于存储业务数据,也不执行业务操作。所述获取预设的第二工程,包括:创建空的工程,在所述工程中添加用于进行质量检测以获得项目聚合报告的工具;将添加工具后的工程作为所述第二工程。这里,所述工具为生成项目聚合报告所需的质量检查工具,具体可以用于进行静态检查和覆盖率检查等。所述质量检查工具可以采用现有的工具,因此这里不再赘述。具体可以通过在所述工程的配置文件(POM,ProjectObjectModel)文件中,写入所述质量检查工具对应的代码或者写入获取所述质量检查本文档来自技高网...

【技术保护点】
1.一种项目聚合报告的生成方法,其特征在于,所述方法包括:获得至少一个项目,根据所述至少一个项目确定至少一个第一工程;将所述至少一个第一工程添加至预设的第二工程;将添加有所述至少一个第一工程的第二工程作为目标工程,对所述目标工程的源码进行聚合,获得针对所述至少一个第一工程的项目聚合报告。

【技术特征摘要】
1.一种项目聚合报告的生成方法,其特征在于,所述方法包括:获得至少一个项目,根据所述至少一个项目确定至少一个第一工程;将所述至少一个第一工程添加至预设的第二工程;将添加有所述至少一个第一工程的第二工程作为目标工程,对所述目标工程的源码进行聚合,获得针对所述至少一个第一工程的项目聚合报告。2.根据权利要求1所述的方法,其特征在于,所述将所述至少一个第一工程添加至预设的第二工程前,所述方法还包括:在所述第二工程的配置文件中,添加所述至少一个第一工程对所述第二工程的父依赖描述;根据所述父依赖描述,建立所述至少一个第一工程与所述第二工程的父子依赖关系。3.根据权利要求1所述的方法,其特征在于,所述对所述目标工程的源码进行聚合前,所述方法包括:确定所述第一工程所需的至少一个第一jar包;所述第一jar包为所述第一工程无法通过底层公共包获取的jar包;在所述第二工程的配置文件中添加针对所述至少一个第一jar包的依赖描述,所述第一工程根据所述配置文件中的依赖描述获取所述至少一个第一jar包。4.根据权利要求1所述的方法,其特征在于,所述对所述目标工程的源码进行聚合前,所述方法包括:确定所述至少一个第一工程中包含公共工程、且所述公共工程依赖第二jar包时,修改所述公共工程的配置文件中针对jar包的依赖描述,以取消所述公共工程对所述第二jar包的依赖关系;所述第二jar包为除部署有所述第二工程的maven私有仓库包含的jar包外的第三方jar包。5.根据权利要求1所述的方法,其特征在于,所述对所述目标工程的源码进行聚合前,所述方法还包括:获取所述第二工程的源码并保存在根目录;依次获取所述至少一个第一工程的源码,在所述根目录下创建至少...

【专利技术属性】
技术研发人员:白秋飞
申请(专利权)人:咪咕文化科技有限公司中国移动通信集团有限公司
类型:发明
国别省市:北京,11

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

1