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

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

Info

Publication number
CN106021303B
CN106021303B CN201610290990.6A CN201610290990A CN106021303B CN 106021303 B CN106021303 B CN 106021303B CN 201610290990 A CN201610290990 A CN 201610290990A CN 106021303 B CN106021303 B CN 106021303B
Authority
CN
China
Prior art keywords
report
versioned
template
original
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201610290990.6A
Other languages
English (en)
Other versions
CN106021303A (zh
Inventor
沈寓实
王昕�
袁小耀
于家伟
郑阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qingyuan Technology Co Ltd
Original Assignee
Beijing Qingyuan Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qingyuan Technology Co Ltd filed Critical Beijing Qingyuan Technology Co Ltd
Priority to CN201610290990.6A priority Critical patent/CN106021303B/zh
Publication of CN106021303A publication Critical patent/CN106021303A/zh
Application granted granted Critical
Publication of CN106021303B publication Critical patent/CN106021303B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明提供一种用于持续集成报告发布的系统和方法,属于云计算领域。用于持续集成报告发布的系统包括,报告元数据数据库,报告展示样式数据库,报告模板数据库,标记语言展示引擎,版本管理系统,持续集成控制器和版本化报告生成器。用于持续集成报告发布的方法包括,S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,和S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告。

Description

一种用于持续集成报告发布的系统和方法
技术领域
本发明涉及云计算领域,尤其涉及一种用于持续集成报告发布的系统和方法。
背景技术
随着云计算技术在社会经济的各行各业越来越普及,基础设施云技术和产品越来越成熟,平台即服务和软件即服务的解决方案越来越得到重视。持续集成解决方案,作为平台即服务的重要组成功能,对于大多典型的平台即服务和软件即服务解决方案来说,都是必不可少的服务模块。
现有的持续集成系统,生成的持续集成报告多为网页(即HTML)格式,如图1所示。这种格式虽然易于让用户浏览阅读一次性的报告,但不利于项目或产品报告长期的更新维护,特别的,以网页形式生成报告,不利于版本化管理,不利于针对同一项目的两次报告做对比;如图1所示,针对同一项目运行两次得出的两次报告,一次成功,一次失败,成功失败通过浏览器浏览一目了然,但是其报告文本如图1所示非常复杂,包含很多与报告内容无关的内容,导致两个问题,一是报告内容太多不易于版本管理,二是两份报告不易于比较对比。
发明内容
本发明的目的在于提供一种用于持续集成报告发布的系统和方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种用于持续集成报告发布的系统,包括,报告元数据数据库,报告展示样式数据库,报告模板数据库,标记语言展示引擎,版本管理系统,持续集成控制器和版本化报告生成器;
所述持续集成控制器读取所述报告元数据数据库中的报告元数据,运行任务产生原始报告,通过所述版本化报告生成器生成版本化报告,向所述版本管理系统提交所述版本化报告,并调用所述标记语言展示引擎展示所述版本化报告;
所述标记语言展示引擎读取所述报告展示样式数据库中的报告展示样式,访问所述版本管理系统所产生的所述版本化报告,并展示所述版本化报告;
所述版本化报告生成器读取所述报告模板数据库中的报告模板并解析所述报告模板,按所述报告模板过滤所述原始报告,并按所述报告模板生成结构化报告。
优选的,在所述持续集成控制器的控制下,可以运行多种任务;
在所述持续集成控制器的控制下,可以运行所述任务包括软件构建任务,软件测试任务,硬件测试任务和搜索引擎任务。
优选的,所述持续集成控制器根据不同任务类型包括不同的任务控制器;
所述任务控制器包括:软件构建控制器、软件测试控制器、硬件测试控制器和搜索引擎控制器。
优选的,所述版本化报告生成器包括报告模板解析器、原始报告过滤器和结构化报告生成器,其中,所述报告模板解析器读取所述报告模板数据库中的报告模板。
一种用于持续集成报告发布的方法,包括,
S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告;
S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告。
优选的,所述S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,包括以下步骤:
S11,开始运行持续集成任务;
S12,读取任务元数据;
S13,产生任务原始报告;
S14,调用所述版本化报告生成器生成版本化报告;
S15,提交所述版本化报告到所述版本化管理系统;
S16,调用所述标记语言报告展示引擎展示报告;
S17,报告完成。
优选的,所述S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告,包括以下步骤:
S21,从所述报告模板数据库中读取报告模板;
S22,解析所述报告模板;
S23,设置原始报告过滤器参数;
S24,设置结构化报告生成器参数;
S25,读取所述原始报告;
S26,按所述报告模板过滤所述原始报告;
S27,按所述报告模板生成结构化报告;
S28,报告完成。
本发明的有益效果是:本发明提出一种用于持续集成报告发布的系统和方法,使得持续集成任务运行结果的报告易于版本化管理,易于针对同一项目或产品的不同报告做针对性的比较,与此同时,仍然可以将报告以易于用户浏览的方式进行展示。
附图说明
图1是传统报告系统生成的报告展示形式和报告内容;
图2是本发明系统的模块构成和模块之间的交互关系;
图3是依据本发明生成版本化报告和展示版本化报告的流程;
图4是本发明版本化报告生成器的模块构成;
图5是依据本发明版本化报告生成器过滤原始报告并生成结构化报告的流程;
图6是依据本发明利用现有软件模块的一种实施方案。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
依据本发明的一个实施例,如附图6,采用Jenkins持续集成系统作为持续集成控制器搭建自动化构建报告的发布系统,调用Java软件构建控制器Maven做软件自动化构建,生成的原始报告用Linux命令grep和sed命令做过滤,过滤后的报告利用Python生成符合Markdown标记语言结构的报告,生成的报告提交到Git版本管理系统之中,生成的报告用Hugo标记语言展示引擎展示,本实施例中所用软件的网页索引如下所示。
Jenkins:https://jenkins-ci.org/
Maven:https://maven.apache.org/
Markdown:http://what ismarkdown.com/
Git:https://git-scm.com/
Hugo:https://gohugo.io/
一种用于持续集成报告发布的系统包括,报告元数据数据库,报告展示样式数据库,报告模板数据库,标记语言展示引擎,版本管理系统,持续集成控制器和版本化报告生成器;
其中,所述持续集成控制器读取所述报告元数据数据库中的报告元数据,运行任务产生原始报告,通过所述版本化报告生成器生成版本化报告,向所述版本管理系统提交所述版本化报告,并调用所述标记语言展示引擎展示所述版本化报告;
所述标记语言展示引擎读取所述报告展示样式数据库中的报告展示样式,访问所述版本管理系统所产生的所述版本化报告,并展示所述版本化报告;
所述版本化报告生成器读取所述报告模板数据库中的报告模板并解析所述报告模板,按所述报告模板过滤所述原始报告,并按所述报告模板生成结构化报告;所述版本化报告生成器包括报告模板解析器、原始报告过滤器和结构化报告生成器,其中,所述报告模板解析器读取所述报告模板数据库中的报告模板。
在所述持续集成控制器的控制下,可以运行多种任务,包括:软件构建任务,软件测试任务,硬件测试任务和搜索引擎任务。
所述持续集成控制器根据不同任务类型包括不同的任务控制器;所述任务控制器包括:软件构建控制器、软件测试控制器、硬件测试控制器和搜索引擎控制器。
一种用于持续集成报告发布的方法,包括,S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,和S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告。
其中,所述S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,包括以下步骤:
S11,开始运行持续集成任务;
S12,读取任务元数据;
S13,产生任务原始报告;
S14,调用所述版本化报告生成器生成版本化报告;
S15,提交所述版本化报告到所述版本化管理系统;
S16,调用所述标记语言报告展示引擎展示报告;
S17,报告完成。
其中,所述S2:所述版本化报告生成器按照报告模板,从所述原始报告生成结构化报告,包括以下步骤:
S21,从所述报告模板数据库中读取报告模板;
S22,解析所述报告模板;
S23,设置原始报告过滤器参数;
S24,设置结构化报告生成器参数;
S25,读取所述原始报告;
S26,按所述报告模板过滤所述原始报告;
S27,按所述报告模板生成结构化报告;
S28,报告完成。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本发明提出一种用于持续集成报告发布的系统和方法,使得持续集成任务运行结果的报告易于版本化管理,易于针对同一项目或产品的不同报告做针对性的比较,与此同时,仍然可以将报告以易于用户浏览的方式进行展示。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (8)

1.一种用于持续集成报告发布的系统,其特征在于,包括,报告元数据数据库,报告展示样式数据库,报告模板数据库,标记语言展示引擎,版本管理系统,持续集成控制器和版本化报告生成器;
所述持续集成控制器读取所述报告元数据数据库中的报告元数据,运行任务产生原始报告,通过所述版本化报告生成器生成版本化报告,向所述版本管理系统提交所述版本化报告,并调用所述标记语言展示引擎展示所述版本化报告;
所述标记语言展示引擎读取所述报告展示样式数据库中的报告展示样式,访问所述版本管理系统所产生的所述版本化报告,并展示所述版本化报告;
所述版本化报告生成器读取所述报告模板数据库中的报告模板并解析所述报告模板,按所述报告模板过滤所述原始报告,并按所述报告模板生成结构化报告,具体采用的方式为:
利用Python生成符合Markdown标记语言结构的报告,生成的报告用Hugo标记语言展示引擎展示。
2.根据权利要求1所述的一种用于持续集成报告发布的系统,其特征在于,在所述持续集成控制器的控制下,可以运行多种任务。
3.根据权利要求2所述的一种用于持续集成报告发布的系统,其特征在于,在所述持续集成控制器的控制下,可以运行所述任务包括软件构建任务,软件测试任务,硬件测试任务和搜索引擎任务。
4.根据权利要求1所述的一种用于持续集成报告发布的系统,其特征在于,所述持续集成控制器根据不同任务类型包括不同的任务控制器。
5.根据权利要求4所述的一种用于持续集成报告发布的系统,其特征在于,所述任务控制器包括:软件构建控制器、软件测试控制器、硬件测试控制器和搜索引擎控制器。
6.根据权利要求1所述的一种用于持续集成报告发布的系统,其特征在于,所述版本化报告生成器包括报告模板解析器、原始报告过滤器和结构化报告生成器,其中,所述报告模板解析器读取所述报告模板数据库中的报告模板。
7.一种用于持续集成报告发布的方法,其特征在于,包括,S1:在持续集成控制器的控制下,权利要求1-6任一所述的用于持续集成报告发布的系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,和S2:版本化报告生成器按照报告模板,从所述版本化报告生成结构化报告;
步骤S1中从产生原始报告到生成版本化报告并展示所述版本化报告具体采用的方式为:
利用Python生成符合Markdown标记语言结构的报告,生成的报告用Hugo标记语言展示引擎展示;
所述S2:版本化报告生成器按照报告模板,从所述版本化报告生成结构化报告,包括以下步骤:
S21,从报告模板数据库中读取报告模板;
S22,解析所述报告模板;
S23,设置原始报告过滤器参数;
S24,设置结构化报告生成器参数;
S25,读取所述原始报告;
S26,按所述报告模板过滤所述原始报告;
S27,按所述报告模板生成结构化报告;
S28,报告完成。
8.根据权利要求7所述的一种用于持续集成报告发布的方法,其特征在于,所述S1:在所述持续集成控制器的控制下,系统根据报告的元数据,从产生原始报告到生成版本化报告并展示所述版本化报告,包括以下步骤:
S11,开始运行持续集成任务;
S12,读取任务元数据;
S13,产生任务原始报告;
S14,调用所述版本化报告生成器生成版本化报告;
S15,提交所述版本化报告到所述版本管理系统;
S16,调用标记语言报告展示引擎展示报告;
S17,报告完成。
CN201610290990.6A 2016-05-05 2016-05-05 一种用于持续集成报告发布的系统和方法 Expired - Fee Related CN106021303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610290990.6A CN106021303B (zh) 2016-05-05 2016-05-05 一种用于持续集成报告发布的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610290990.6A CN106021303B (zh) 2016-05-05 2016-05-05 一种用于持续集成报告发布的系统和方法

Publications (2)

Publication Number Publication Date
CN106021303A CN106021303A (zh) 2016-10-12
CN106021303B true CN106021303B (zh) 2019-12-17

Family

ID=57081457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610290990.6A Expired - Fee Related CN106021303B (zh) 2016-05-05 2016-05-05 一种用于持续集成报告发布的系统和方法

Country Status (1)

Country Link
CN (1) CN106021303B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108039193A (zh) * 2017-11-17 2018-05-15 哈尔滨工大服务机器人有限公司 一种自动生成体检报告的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873902B2 (en) * 2007-04-19 2011-01-18 Microsoft Corporation Transformation of versions of reports
US20110202831A1 (en) * 2010-02-15 2011-08-18 Microsoft Coproration Dynamic cache rebinding of processed data
CN101887455B (zh) * 2010-06-22 2012-07-04 用友软件股份有限公司 多版本报表数据管理方法和系统
KR101977972B1 (ko) * 2011-12-29 2019-05-14 바이보 랩스, 인크. 보고서 작성용으로 적응된 스프레드시트 기반 프로그래밍 언어

Also Published As

Publication number Publication date
CN106021303A (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
Sadik-Zada et al. Drivers of CO2-Emissions in Fossil Fuel abundant settings:(Pooled) mean group and nonparametric panel analyses
Scharffe et al. Enabling linked data publication with the Datalift platform
US8683315B2 (en) System and method for creating integrated web form and database applications
KR20190134879A (ko) 클라우드 기반 인공지능 음성인식을 이용한 맞춤형 스마트팩토리 생산관리 통합 서비스 제공 방법
CN110377621B (zh) 一种基于计算引擎的界面处理方法及装置
CN101662493A (zh) 一种用户访问路径的数据采集方法、系统及服务器
CN102520966B (zh) 一种代码提示方法和装置
CN103927314B (zh) 一种数据批量处理的方法和装置
CN112464119A (zh) 一种基于web端的SCADA在线组态编辑方法
CN102902558A (zh) 项目脚本文件更新系统和方法、脚本文件合并方法和装置
CN101470570B (zh) 移动网页报表的系统及方法
Rahardjo et al. Lean manufacturing in industry 4.0: a smart and sustainable manufacturing system
Rodríguez-Echeverría et al. Modernization of legacy web applications into rich internet applications
CN101968817A (zh) 网页模板配置方法
CN106021303B (zh) 一种用于持续集成报告发布的系统和方法
CN103186830A (zh) 一种根据邮件智能分析生成工单的方法及装置
CN102339276A (zh) 数据处理方法及装置
CN113127442B (zh) 数据模型的可视化的方法、装置及存储介质
CN107180083A (zh) 一种对投资项目的分析处理方法
Zhang et al. Research of web front-end engineering solution in public cultural service project
CN113282279A (zh) 一种电力系统调控云的后台推送的曲线组件及实现方法
Fan et al. An empirical study of carbon emission impact factors based on the vector autoregression model
CN103699845A (zh) 显示扫描进度的方法及装置
CN106648645B (zh) 一种代码生成系统
CN112036143B (zh) 一种响应报表需求的可持续自定义报表的生成方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191217

Termination date: 20200505

CF01 Termination of patent right due to non-payment of annual fee