一种灵活的持续集成结果展示方案

简介:

 

1 Hudson平台结果展示方式
随着持续集成在技术部的推广,有许多团队已经使用或即将使用基于Hudson的持续集成解决方案。然而Hudson平台的结果展现还比较单一,主要是以图的形式(如图1所示),从图上面能看到的信息显然是不够的,显然是不能满足一些团队的个性化需求的。


 

图 1. Hudson平台结果展示图
因此,本文将基于hudson平台,探讨一种更丰富的结果展示方案。
2 Dashboard是什么样的
Dashboard是这样的,每天会给各产品线的相关人员发邮件,将前一天产品在hudson平台上跑的情况汇总成如下表格:
1、buildonly+quick



Buildonly的统计参数:
执行次数/人次:前一天执行次数与负责人人数之比
平均用时:每次执行所花时间的平均值
成功率:build 成功的次数与总的执行次数之比
Quick的统计参数
平均执行率:所有quick任务执行的case数之和除以总的case数
平均case总数:对所有quick任务case总数求平均值
平均用时:对所有quick任务所花时间求平均值
平均通过率:所有quick任务success的case数之和除以总的case数
执行case总数:对每次quick任务执行了的case数求和
2、slow


这份表格主要是对slow case的统计,参数与quick大致相同。
3、performance


这份表格主要是统计性能测试的一些数据。
4、codeAnalyze

 

这份表格主要含有对RD代码的分析结果。
3 Dashboard是怎么做的
Dashboard功能实现主要依赖三个部分:
数据采集部分,需在Hudson Master机器上部署一个result-collector-client插件。并按该插件可以每天定时从Hudson数据文件中采集增量数据,按照一定结构组织后,向服务端发送请求,传输数据,数据存放在一个mysql里,数据库主要表项如下:
表projects:Hudson中的项目(job)对象
 

表builds:Build对象,即一次构建

 

数据解析部分,服务器会每天定时去执行一个php脚本,脚本会去取前一天hudson的数据,进行解析,生成一个HTML页面(也就是上面看到的图表)。


 

图 2. Dashboard功能实现流程
邮件发送部分,HTML页面生成好后调用php里的mail函数发送给产品线的相关人员。


 

图3. Dashboard功能框架图
4 后续改进计划
Dashboard报表后续要改进的地方还很多,目前计划中的主要有:
1、在dashboard邮件里目前只有表格形式的结果,以后计划加入图形的结果,比如饼状图、柱形图等,让呈现的结果更加直观、漂亮。
2、目前的dashboard报表里只汇总前一天的数据,以后可做成每周、每月发一份报表。
3、现在是将dashboard报表发邮件给各产品线负责人,以后可做成一个网站,在上面输入一个时间段后,自动将这一时间段里hudson上的数据以表格或图的形式展现出来,
 

(作者:lijinjin)

 












本文转自百度技术51CTO博客,原文链接:http://blog.51cto.com/baidutech/743345,如需转载请自行联系原作者

相关文章
|
4月前
|
安全 Java 数据安全/隐私保护
在Java项目中集成单点登录(SSO)方案
在Java项目中集成单点登录(SSO)方案
|
2月前
|
机器学习/深度学习 DataWorks 数据挖掘
基于阿里云Hologres和DataWorks数据集成的方案
基于阿里云Hologres和DataWorks数据集成的方案
67 7
|
3月前
|
前端开发 Linux API
无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
【8月更文挑战第3天】无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
|
4月前
|
安全 Java 数据安全/隐私保护
在Java项目中集成单点登录(SSO)方案
在Java项目中集成单点登录(SSO)方案
|
4月前
|
存储 运维 监控
在Spring Boot中集成分布式日志收集方案
在Spring Boot中集成分布式日志收集方案
|
5月前
|
搜索推荐 前端开发 JavaScript
SpringBoot静态资源访问控制和封装集成方案
该文档描述了对基于SpringBoot的项目框架进行优化和整合的过程。原先采用前后端分离,后端兼做前端,但随着项目增多,升级维护变得复杂。因此,决定整合后台管理页面与后端代码,统一发布。设计上,框架包含后台管理资源,项目则配置具体业务页面,项目可通过覆盖框架资源实现个性化。关键步骤包括:自定义静态资源访问路径、解决图标与字体文件访问问题、设定自定义欢迎页面和页面图标,以及确保项目能正确访问框架静态资源。通过扫描jar包、解压和拷贝资源到项目目录,实现了框架静态资源的动态加载。此外,调整静态资源访问优先级,保证正确加载。最终实现支持jar和war包的项目结构优化。
108 4
|
6月前
|
监控 安全 网络安全
宝鸡陇县中学弱电系统集成设计方案_kaic
宝鸡陇县中学弱电系统集成设计方案_kaic
|
6月前
|
缓存 分布式计算 Apache
Apache Hudi与Apache Flink更好地集成,最新方案了解下?
Apache Hudi与Apache Flink更好地集成,最新方案了解下?
148 0
|
11月前
|
SQL 关系型数据库 MySQL
基于 Flink CDC 打造企业级实时数据集成方案
阿里云智能 Flink 数据通道负责人,Flink CDC 开源社区负责人,Flink PMC Member & Committer 徐榜江在 2023 云栖大会开源大数据专场的分享。
58904 11
基于 Flink CDC 打造企业级实时数据集成方案
|
6月前
|
SQL 关系型数据库 MySQL
基于 Flink CDC 打造企业级实时数据集成方案
基于 Flink CDC 打造企业级实时数据集成方案
113 0

热门文章

最新文章