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

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

ec96727e579a6dd13485abe09cfda7fd.png

图 1. Hudson平台结果展示图

因此,本文将基于hudson平台,探讨一种更丰富的结果展示方案。

2 Dashboard是什么样的Dashboard是这样的,每天会给各产品线的相关人员发邮件,将前一天产品在hudson平台上跑的情况汇总成如下表格:

1、buildonly+quick

0c90b79f961249053d7daf568cd94f2d.png

Buildonly的统计参数:

执行次数/人次:前一天执行次数与负责人人数之比

平均用时:每次执行所花时间的平均值

成功率:build 成功的次数与总的执行次数之比

Quick的统计参数

平均执行率:所有quick任务执行的case数之和除以总的case数

平均case总数:对所有quick任务case总数求平均值

平均用时:对所有quick任务所花时间求平均值

平均通过率:所有quick任务success的case数之和除以总的case数

执行case总数:对每次quick任务执行了的case数求和

2、slow

6175336b249b7038561614232df7943a.png

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

3、performance

9823adb7e1a8d5fe941201ce2deb676c.png

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

4、codeAnalyze

a706fb34decb95b7d5ae9f2572e0abfe.png

这份表格主要含有对RD代码的分析结果。

3 Dashboard是怎么做的Dashboard功能实现主要依赖三个部分:

数据采集部分,需在Hudson Master机器上部署一个result-collector-client插件。并按该插件可以每天定时从Hudson数据文件中采集增量数据,按照一定结构组织后,向服务端发送请求,传输数据,数据存放在一个mysql里,数据库主要表项如下:

表projects:Hudson中的项目(job)对象

0c4dff45e92e26a3da492ceb96ddbdba.png

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

b1405bd8f3ed7d21efa28e55eb615b71.png

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

4ac5d647610f4038cadb1300d2c10f87.png

图 2. Dashboard功能实现流程

邮件发送部分,HTML页面生成好后调用php里的mail函数发送给产品线的相关人员。

5167d6911ecff8fb4e91435f45cc995a.png

图3. Dashboard功能框架图

4 后续改进计划Dashboard报表后续要改进的地方还很多,目前计划中的主要有:

1、在dashboard邮件里目前只有表格形式的结果,以后计划加入图形的结果,比如饼状图、柱形图等,让呈现的结果更加直观、漂亮。

2、目前的dashboard报表里只汇总前一天的数据,以后可做成每周、每月发一份报表。

3、现在是将dashboard报表发邮件给各产品线负责人,以后可做成一个网站,在上面输入一个时间段后,自动将这一时间段里hudson上的数据以表格或图的形式展现出来,

(作者:lijinjin)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值