一种用于持续交付的可视化方法、装置和服务器制造方法及图纸

技术编号:21183650 阅读:23 留言:0更新日期:2019-05-22 14:42
本发明专利技术涉及一种用于持续交付的可视化方法、装置和服务器,该方法以Jenkins为基础,借助Jenkins的插件收集持续交付装置产生的构建数据,并通过可视化的展示方式展示所有的数据。从而能够有效、准确地实现对持续交付装置中每个阶段的构建数据可视化,提高了软件研发过程和质量的透明度,也提高了产品的开发效率。在整个持续交付装置运行的过程中,通过度量可视化装置的状态和结果来掌握整个持续交付存在的问题和产品质量,可以实时的定位问题,提高研发效率并保证软件交付质量,从而达到实时集成、实时反馈、实时部署的目标。

A Visualization Method, Device and Server for Continuous Delivery

The invention relates to a visualization method, device and server for continuous delivery, which is based on Jenkins and uses Jenkins plug-ins to collect construction data generated by the continuous delivery device and display all data through a visual display mode. Thus, it can effectively and accurately visualize the construction data at each stage of the continuous delivery device, improve the transparency of software development process and quality, and also improve the efficiency of product development. In the whole process of continuous delivery device operation, we can grasp the problems and product quality of continuous delivery by measuring the status and results of visual devices. It can locate the problems in real time, improve the efficiency of research and development and ensure the quality of software delivery, so as to achieve the goal of real-time integration, real-time feedback and real-time deployment.

【技术实现步骤摘要】
一种用于持续交付的可视化方法、装置和服务器
本专利技术涉及计算机领域,尤其涉及一种用于持续交付的可视化方法、装置和服务器。
技术介绍
持续交付是一种DevOps软件开发实践。采用持续交付时,装置会自动构建、测试并准备代码变更,以便将其发布到生产环境中。持续交付通过在构建阶段后将所有代码变更部署到测试环境和/或生产环境中,实现对持续集成的扩展。当持续交付得以正确实施时,开发人员将始终能够获得一个已通过标准化测试流程的部署就绪型构建工件。持续集成和持续部署是持续交付中最重要的两个组成部分,两个实践包含了软件从编写一行代码到部署生产环境的整个自动化流程。现行的持续交付虽然实现了软件开发流程的自动化,但是缺乏对整个流程的可视化展示,不能实时掌握整个持续交付存在的问题和产品质量,影响了研发效率和软件交付质量。因此,如何能够实时并有效地检测整个软件开发流程中存在的问题以及将问题进行直观的可视化展示成为亟待解决的问题。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供了一种用于持续交付的可视化方法、装置和服务器,能够实时地反馈软件开发中的存在的问题以及将问题进行直观的可视化展示。本专利技术解决上述技术问题的技术方案如下:第一方面,本专利技术实施例提供了一种用于持续交付的可视化方法,包括以下步骤:获取项目源代码;对所述项目源代码进行编译;判断编译是否成功,若编译成功,则进入下一步;若编译失败,则将编译失败状态进行可视化展示,并结束;对编译成功后的代码进行单元测试;判断测试是否成功,若测试成功,则将测试结果和测试成功状态以不同的形式进行可视化展示,并进入下一步;若测试失败,则将测试失败状态进行可视化展示,并结束;对测试成功的代码进行Sonar扫描;判断扫描是否成功,若扫描成功,则将扫描结果进行可视化展示,并进入下一步,若扫描失败,则将扫描结果和扫描失败状态进行可视化展示,并结束;对扫描成功后的代码进行打包;判断打包是否成功,若打包成功,则进入下一步,若打包失败,则将打包失败状态进行可视化展示,并结束;将打包成功后的代码部署到预设的环境中;判断部署是否成功,若部署成功,则将部署成功状态、当前构建的流水线编号和时间进行可视化展示,若部署失败,若部署失败,则将部署失败状态进行可视化展示。进一步,所述测试结果包括单元测试总数、成功的单元测试总数、失败的单元测试总数和忽略的单元测试总数,其中,测试结果以黄色标签的形式进行可视化展示,测试成功状态以绿色背景进行可视化展示,测试失败状态以红色背景进行可视化展示。进一步,所述扫描结果包括代码缺陷总数、代码漏洞总数、债务耗时时长、代码坏味道总数和代码重复百分比,其中,扫描结果以黄色标签的形式进行可视化展示,扫描失败状态以红色背景进行可视化展示。进一步,所述部署成功状态以绿色背景进行可视化展示,所述部署失败状态以红色背景进行可视化展示。进一步,在对扫描成功后的代码进行打包前还包括:对扫描成功后的代码进行代码总量统计,并将统计结果进行可视化展示。进一步,所述方法还包括根据统计结果进行排名,并将代码总量排名前5的人名和总提交数量以标签的形式进行可视化展示。第二方面,本专利技术实施例提供了提供一种持续交付度量可视化装置,包括:获取模块,用于获取项目源代码;编译模块,用于对所述项目源代码进行编译;第一判断模块,用于判断编译是否成功,若编译成功,则将编译成功后的代码发送到测试模块;若编译失败,则将编译失败状态发送到可视化模块;测试模块,用于对编译成功后的代码进行测试;第二判断模块,用于判断测试是否成功,若测试成功,则将测试结果和测试成功状态发送到可视化模块,同时将测试成功的代码发送到Sonar扫描模块;若测试失败,则将测试失败状态发送到可视化模块;Sonar扫描模块,用于对测试成功的代码进行Sonar扫描;第三判断模块,用于判断扫描是否成功,若扫描成功,则将扫描结果发送到可视化模块,同时将扫描成功的代码发送到打包模块;若扫描失败,则将扫描结果和扫描失败状态发送到可视化模块;打包模块,用于对扫描成功后的代码进行打包;第四判断模块,用于判断打包是否成功,若打包成功,将打包成功后的代码发送到部署模块;若打包失败,则将打包失败状态发送到可视化模块;部署模块,用于将打包成功后的代码部署在预设的环境中;第五判断模块,用于判断部署是否成功,若部署成功,则将部署成功状态、当前构建的流水线编号和时间发送到可视化模块,若部署失败,则将部署失败状态发送到可视化模块;可视化模块,用于对接收的信息进行可视化展示。进一步,还包括:代码总量统计模块,用于对扫描成功后的代码进行代码总量统计,并将统计结果发送到可视化模块。进一步,还包括:排名模块,用于根据统计结果进行排名,并将代码总量排名前5的人名和总提交数量以标签的形式发送到可视化模块。第三方面,本专利技术实施例提供了一种服务器,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令时,实现第一方面的可视化方法步骤。本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本专利技术实施例提供了一种用于持续交付的可视化方法、装置和服务器,本专利技术以Jenkins为基础,借助Jenkins的插件收集持续交付装置产生的构建数据,并通过可视化的展示方式展示所有的数据。从而能够有效、准确地实现对持续交付装置中每个阶段的构建数据可视化,提高了软件研发过程和质量的透明度,也提高了产品的开发效率。在整个持续交付装置运行的过程中,通过度量可视化装置的状态和结果来掌握整个持续交付存在的问题和产品质量,可以实时的定位问题,提高研发效率并保证软件交付质量,从而达到实时集成、实时反馈、实时部署的目标。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一的方法流程图;图2为本专利技术实施例二的装置原理图;图3为本专利技术实施例三的服务器原理图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。实施例一本实施例针对现行的持续交付缺乏对整个流程的可视化展示,不能实时掌握整个持续交付存在的问题和产品质量以及将问题进行直观的可视化展示,影响研发效率的问题,提出了一种用于持续交付的可视化方法,该可视化方法应用于服务器端,在服务器端安装有Jenkins持续集成工具,配置GIT钩子脚本,配置Jenkins执行代码编译的Job,然后在Job配置中添加构建购操作GroovyPostbuild;新建Jenkins视图,选择BuildMonitorView并设置该视图名称;选择使用了GroovyPostbuild的Jenkins,Job并添加到BuildMonitor视图中。打开该BuildMonitor视图,设置中勾选Showbadges并保存。如图1所示,一种用于持续交付的可视化方法,包括以下步骤:获取项目源代码;本步骤中,利用GIT钩子获取客户端上传的项目源代码,并下载到持续交付装置本地。对所述项目源代码进行编译本文档来自技高网...

【技术保护点】
1.一种用于持续交付的可视化方法,其特征在于,包括以下步骤:获取项目源代码;对所述项目源代码进行编译;判断编译是否成功,若编译成功,则进入下一步;若编译失败,则将编译失败状态进行可视化展示,并结束;对编译成功后的代码进行单元测试;判断测试是否成功,若测试成功,则将测试结果和测试成功状态以不同的形式进行可视化展示,并进入下一步;若测试失败,则将测试失败状态进行可视化展示,并结束;对测试成功的代码进行Sonar扫描;判断扫描是否成功,若扫描成功,则将扫描结果进行可视化展示,并进入下一步,若扫描失败,则将扫描结果和扫描失败状态进行可视化展示,并结束;对扫描成功后的代码进行打包;判断打包是否成功,若打包成功,则进入下一步,若打包失败,则将打包失败状态进行可视化展示,并结束;将打包成功后的代码部署到预设的环境中;判断部署是否成功,若部署成功,则将部署成功状态、当前构建的流水线编号和时间进行可视化展示,若部署失败,则将部署失败状态进行可视化展示。

【技术特征摘要】
1.一种用于持续交付的可视化方法,其特征在于,包括以下步骤:获取项目源代码;对所述项目源代码进行编译;判断编译是否成功,若编译成功,则进入下一步;若编译失败,则将编译失败状态进行可视化展示,并结束;对编译成功后的代码进行单元测试;判断测试是否成功,若测试成功,则将测试结果和测试成功状态以不同的形式进行可视化展示,并进入下一步;若测试失败,则将测试失败状态进行可视化展示,并结束;对测试成功的代码进行Sonar扫描;判断扫描是否成功,若扫描成功,则将扫描结果进行可视化展示,并进入下一步,若扫描失败,则将扫描结果和扫描失败状态进行可视化展示,并结束;对扫描成功后的代码进行打包;判断打包是否成功,若打包成功,则进入下一步,若打包失败,则将打包失败状态进行可视化展示,并结束;将打包成功后的代码部署到预设的环境中;判断部署是否成功,若部署成功,则将部署成功状态、当前构建的流水线编号和时间进行可视化展示,若部署失败,则将部署失败状态进行可视化展示。2.根据权利要求1所述的用于持续交付的可视化方法,其特征在于,所述测试结果包括单元测试总数、成功的单元测试总数、失败的单元测试总数和忽略的单元测试总数,其中,测试结果以黄色标签的形式进行可视化展示,测试成功状态以绿色背景进行可视化展示,测试失败状态以红色背景进行可视化展示。3.根据权利要求1所述的用于持续交付的可视化方法,其特征在于,所述扫描结果包括代码缺陷总数、代码漏洞总数、债务耗时时长、代码坏味道总数和代码重复百分比,其中,扫描结果以黄色标签的形式进行可视化展示,扫描失败状态以红色背景进行可视化展示。4.根据权利要求1所述的用于持续交付的可视化方法,其特征在于,所述部署成功状态以绿色背景进行可视化展示,所述部署失败状态以红色背景进行可视化展示。5.根据权利要求1至4中任一项所述的用于持续交付的可视化方法,其特征在于,在对扫描成功后的代码进行打包前还包括:对扫描成功后的代码进行代码总量统计,并将统计结果进行可视化展示。6.根据权利要求5所述的用于持续交付的可视化方法,其特征在于,所述方法还...

【专利技术属性】
技术研发人员:文浩
申请(专利权)人:成都宝瓜科技有限公司
类型:发明
国别省市:四川,51

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

1