一种用于持续集成报告发布的系统和方法

文档序号:10655149阅读:441来源:国知局
一种用于持续集成报告发布的系统和方法
【专利摘要】本发明提供一种用于持续集成报告发布的系统和方法,属于云计算领域。用于持续集成报告发布的系统包括,报告元数据数据库,报告展示样式数据库,报告模板数据库,标记语言展示引擎,版本管理系统,持续集成控制器和版本化报告生成器。用于持续集成报告发布的方法包括,S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,和S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告。
【专利说明】
一种用于持续集成报告发布的系统和方法
技术领域
[0001]本发明涉及云计算领域,尤其涉及一种用于持续集成报告发布的系统和方法。
【背景技术】
[0002]随着云计算技术在社会经济的各行各业越来越普及,基础设施云技术和产品越来越成熟,平台即服务和软件即服务的解决方案越来越得到重视。持续集成解决方案,作为平台即服务的重要组成功能,对于大多典型的平台即服务和软件即服务解决方案来说,都是必不可少的服务模块。
[0003 ]现有的持续集成系统,生成的持续集成报告多为网页(S卩HTML)格式,如图1所示。这种格式虽然易于让用户浏览阅读一次性的报告,但不利于项目或产品报告长期的更新维护,特别的,以网页形式生成报告,不利于版本化管理,不利于针对同一项目的两次报告做对比;如图1所示,针对同一项目运行两次得出的两次报告,一次成功,一次失败,成功失败通过浏览器浏览一目了然,但是其报告文本如图1所示非常复杂,包含很多与报告内容无关的内容,导致两个问题,一是报告内容太多不易于版本管理,二是两份报告不易于比较对比。

【发明内容】

[0004]本发明的目的在于提供一种用于持续集成报告发布的系统和方法,从而解决现有技术中存在的前述问题。
[0005]为了实现上述目的,本发明采用的技术方案如下:
[0006]一种用于持续集成报告发布的系统,包括,报告元数据数据库,报告展示样式数据库,报告模板数据库,标记语言展示引擎,版本管理系统,持续集成控制器和版本化报告生成器;
[0007]所述持续集成控制器读取所述报告元数据数据库中的报告元数据,运行任务产生原始报告,通过所述版本化报告生成器生成版本化报告,向所述版本管理系统提交所述版本化报告,并调用所述标记语言展示引擎展示所述版本化报告;
[0008]所述标记语言展示引擎读取所述报告展示样式数据库中的报告展示样式,访问所述版本管理系统所产生的所述版本化报告,并展示所述版本化报告;
[0009]所述版本化报告生成器读取所述报告模板数据库中的报告模板并解析所述报告模板,按所述报告模板过滤所述原始报告,并按所述报告模板生成结构化报告。
[0010]优选的,在所述持续集成控制器的控制下,可以运行多种任务;
[0011]在所述持续集成控制器的控制下,可以运行所述任务包括软件构建任务,软件测试任务,硬件测试任务和搜索弓I擎任务。
[0012]优选的,所述持续集成控制器根据不同任务类型包括不同的任务控制器;
[0013]所述任务控制器包括:软件构建控制器、软件测试控制器、硬件测试控制器和搜索引擎控制器。
[0014]优选的,所述版本化报告生成器包括报告模板解析器、原始报告过滤器和结构化报告生成器,其中,所述报告模板解析器读取所述报告模板数据库中的报告模板。
[0015]—种用于持续集成报告发布的方法,包括,
[0016]S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告;
[0017]S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告。
[0018]优选的,所述S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,包括以下步骤:
[0019]SI I,开始运行持续集成任务;
[0020]S12,读取任务元数据;
[0021]S13,产生任务原始报告;
[0022]S14,调用所述版本化报告生成器生成版本化报告;
[0023]S15,提交所述版本化报告到所述版本化管理系统;
[0024]S16,调用所述标记语言报告展示引擎展示报告;
[0025]S17,报告完成。
[0026]优选的,所述S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告,包括以下步骤:
[0027]S21,从所述报告模板数据库中读取报告模板;
[0028]S22,解析所述报告模板;
[0029]S23,设置原始报告过滤器参数;
[0030]S24,设置结构化报告生成器参数;
[0031]S25,读取所述原始报告;
[0032]S26,按所述报告模板过滤所述原始报告;
[0033]S27,按所述报告模板生成结构化报告;
[0034]S28,报告完成。
[0035]本发明的有益效果是:本发明提出一种用于持续集成报告发布的系统和方法,使得持续集成任务运行结果的报告易于版本化管理,易于针对同一项目或产品的不同报告做针对性的比较,与此同时,仍然可以将报告以易于用户浏览的方式进行展示。
【附图说明】
[0036]图1是传统报告系统生成的报告展示形式和报告内容;
[0037]图2是本发明系统的模块构成和模块之间的交互关系;
[0038]图3是依据本发明生成版本化报告和展示版本化报告的流程;
[0039]图4是本发明版本化报告生成器的模块构成;
[0040]图5是依据本发明版本化报告生成器过滤原始报告并生成结构化报告的流程;
[0041]图6是依据本发明利用现有软件模块的一种实施方案。
【具体实施方式】
[0042]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的【具体实施方式】仅仅用以解释本发明,并不用于限定本发明。
[0043]依据本发明的一个实施例,如附图6,采用Jenkins持续集成系统作为持续集成控制器搭建自动化构建报告的发布系统,调用Java软件构建控制器Maven做软件自动化构建,生成的原始报告用Linux命令grep和sed命令做过滤,过滤后的报告利用Python生成符合Markdown标记语言结构的报告,生成的报告提交到Git版本管理系统之中,生成的报告用Hugo标记语言展示引擎展示,本实施例中所用软件的网页索引如下所示。
[0044]Jenkins: https://jenkins-c1.0rg/
[0045]Maven:https://maven.apache.0rg/
[0046]Markdown:http://what ismarkdown.com/
[0047]Git:https://git-scm.com/
[0048]Hugo:https://gohug0.1o/
[0049]—种用于持续集成报告发布的系统包括,报告元数据数据库,报告展示样式数据库,报告模板数据库,标记语言展示引擎,版本管理系统,持续集成控制器和版本化报告生成器;
[0050]其中,所述持续集成控制器读取所述报告元数据数据库中的报告元数据,运行任务产生原始报告,通过所述版本化报告生成器生成版本化报告,向所述版本管理系统提交所述版本化报告,并调用所述标记语言展示引擎展示所述版本化报告;
[0051]所述标记语言展示引擎读取所述报告展示样式数据库中的报告展示样式,访问所述版本管理系统所产生的所述版本化报告,并展示所述版本化报告;
[0052]所述版本化报告生成器读取所述报告模板数据库中的报告模板并解析所述报告模板,按所述报告模板过滤所述原始报告,并按所述报告模板生成结构化报告;所述版本化报告生成器包括报告模板解析器、原始报告过滤器和结构化报告生成器,其中,所述报告模板解析器读取所述报告模板数据库中的报告模板。
[0053]在所述持续集成控制器的控制下,可以运行多种任务,包括:软件构建任务,软件测试任务,硬件测试任务和搜索引擎任务。
[0054]所述持续集成控制器根据不同任务类型包括不同的任务控制器;所述任务控制器包括:软件构建控制器、软件测试控制器、硬件测试控制器和搜索引擎控制器。
[0055]—种用于持续集成报告发布的方法,包括,S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,和S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告。
[0056]其中,所述S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,包括以下步骤:
[0057]Sll,开始运行持续集成任务;
[0058]S12,读取任务元数据;
[0059]S13,产生任务原始报告;
[0060]S14,调用所述版本化报告生成器生成版本化报告;
[0061 ] S15,提交所述版本化报告到所述版本化管理系统;
[0062]S16,调用所述标记语言报告展示引擎展示报告;
[0063]S17,报告完成。
[0064]其中,所述S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告,包括以下步骤:
[0065]S21,从所述报告模板数据库中读取报告模板;
[0066]S22,解析所述报告模板;
[0067]S23,设置原始报告过滤器参数;
[0068]S24,设置结构化报告生成器参数;
[0069]S25,读取所述原始报告;
[0070]S26,按所述报告模板过滤所述原始报告;
[0071 ] S27,按所述报告模板生成结构化报告;
[0072]S28,报告完成。
[0073]通过采用本发明公开的上述技术方案,得到了如下有益的效果:
[0074]本发明提出一种用于持续集成报告发布的系统和方法,使得持续集成任务运行结果的报告易于版本化管理,易于针对同一项目或产品的不同报告做针对性的比较,与此同时,仍然可以将报告以易于用户浏览的方式进行展示。
[0075]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
【主权项】
1.一种用于持续集成报告发布的系统,其特征在于,包括,报告元数据数据库,报告展示样式数据库,报告模板数据库,标记语言展示引擎,版本管理系统,持续集成控制器和版本化报告生成器; 所述持续集成控制器读取所述报告元数据数据库中的报告元数据,运行任务产生原始报告,通过所述版本化报告生成器生成版本化报告,向所述版本管理系统提交所述版本化报告,并调用所述标记语言展示引擎展示所述版本化报告; 所述标记语言展示引擎读取所述报告展示样式数据库中的报告展示样式,访问所述版本管理系统所产生的所述版本化报告,并展示所述版本化报告; 所述版本化报告生成器读取所述报告模板数据库中的报告模板并解析所述报告模板,按所述报告模板过滤所述原始报告,并按所述报告模板生成结构化报告。2.根据权利要求1所述的一种用于持续集成报告发布的系统,其特征在于,在所述持续集成控制器的控制下,可以运行多种任务。3.根据权利要求2所述的一种用于持续集成报告发布的系统,其特征在于,在所述持续集成控制器的控制下,可以运行所述任务包括软件构建任务,软件测试任务,硬件测试任务和搜索引擎任务。4.根据权利要求1所述的一种用于持续集成报告发布的系统,其特征在于,所述持续集成控制器根据不同任务类型包括不同的任务控制器。5.根据权利要求4所述的一种用于持续集成报告发布的系统,其特征在于,所述任务控制器包括:软件构建控制器、软件测试控制器、硬件测试控制器和搜索引擎控制器。6.根据权利要求1所述的一种用于持续集成报告发布的系统,其特征在于,所述版本化报告生成器包括报告模板解析器、原始报告过滤器和结构化报告生成器,其中,所述报告模板解析器读取所述报告模板数据库中的报告模板。7.一种用于持续集成报告发布的方法,其特征在于,包括,S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,和S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告。8.根据权利要求7所述的一种用于持续集成报告发布的方法,其特征在于,所述S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,包括以下步骤: SI I,开始运行持续集成任务; SI 2,读取任务元数据; S13,产生任务原始报告; S14,调用所述版本化报告生成器生成版本化报告; S15,提交所述版本化报告到所述版本化管理系统; S16,调用所述标记语言报告展示引擎展示报告; S17,报告完成。9.根据权利要求7所述的一种用于持续集成报告发布的方法,其特征在于,所述S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告,包括以下步骤: S21,从所述报告模板数据库中读取报告模板; S22,解析所述报告模板;S23,设置原始报告过滤器参数;S24,设置结构化报告生成器参数;S25,读取所述原始报告;S26,按所述报告模板过滤所述原始报告;S27,按所述报告模板生成结构化报告;S28,报告完成。
【文档编号】G06F17/30GK106021303SQ201610290990
【公开日】2016年10月12日
【申请日】2016年5月5日
【发明人】沈寓实, 王昕 , 袁小耀, 于家伟, 郑阳
【申请人】北京轻元科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1