[CruiseControl]Build Dashboard

一 CruiseControl Dashborad是什么

CruiseControl Dashboard是一个强大的工具帮助你可视化你的projects的状态。先前projects的build结果被彩色标记显示,以至于你能立即地获得你的projects的build结果。builds结果被用来表现当前project的状态的图标来更直接地表现(例如,暂停,队列,building)。

当把你的鼠标放到用来表示project builds的彩色方块上,你能够看到关于project跟多的信息,例如project的名字,project运行的server和最后一个build发生的时间。

 

彩色方块的意义:

通常,方块有绿色或红色的背景色,红色表示最后一个build失败,绿色表示最后一个build成功。build保持它的状态越长,它的颜色就越深。特殊情况是如果一个project上次build成功,当前build时显示为绿色,如果一个project上次build失败,当前build时显示为橙色。

下面是一些你可能看到的状态的实例,且存在更多的组合情况,但是你应该能够从下面的例子推断他们,

 表示一个project的最后的成功的build超过了24小时,且当前正在队列等待build;

 表示一个project在过去的24内的最后的build是成功的;

 表示一个project的build失败且超过了24小时;

 表示一个project在过去的24内的最后的build是失败的,且当前处于暂停状态;

 表示一个project的上次build是成功的,且当前正处于build状态;

 表示一个project处于非激活或停止状态;

 

下面是你能够执行的动作的列表:访问project build的RSS feed,使用CCTray或CruiseControl JMX console访问xml feed.

 

二 Dashborad的Build 页面

这就是build页面,它能使你查看每个project build和build的状态,且能够对project执行下列的动作:

 查看所有成功的build;

 查看所有的build;

 强制启动一个build;

 访问每个project的build RSS feed和CruiseControl JMX console;

 

三 Dashborad的Build 详细页面

1)build详细页面

build详细页面包含了project的build信息,例如最后成功的build,build number,build的间隔和最后25个build。

 

2)当前build的详细页面

这个是当前build的project的详细页面。build的输出会被实时地显示在这里。

 

四 Dashborad的administration页面

在这个页面你能够看到dashboard配置的详细信息,例如是哪个build,正在运行的JVM的os和JVM版本信息。通过单击configuration子tab,可以看到dashboard从哪里读取configuration和configuration的具体信息。

 

五 Dashboard的限制

* 如果你移除了project的log文件,Dashborad不能自动地发现且标志project为非激活。你需要refresh页面。如果你删除了project的log文件夹,CruiseControl不会重新创建它知道你重新启动CruiseControl。

* 如果你移除了project从CruiseControl的config.xml配置文件,Dashborad不能自动地发现且标志project为中止。你需要refresh页面。

* 尽管build loop能够自动应用对config.xml配置文件的修改,但是Dashborad不能获得dashborad-config.xml配置文件的修改。你需要重新启动Dashborad来使修改生效。

 

六 Dashborad的配置

有以下三种方法配置Dashborad,如下:

* J2EE server的web.xml。这种方法是不赞成的;

*Dashborad-config.xml 这种是配置Dashborad推荐的方法。默认的dashbord-config.xml随CruiseControl一起发布且与用来配置build loop的config.xml位于相同的位置。

*系统属性(system properties) 你可以使用系统属性来重写配置文件的设置;

 

系统属性:

管理员可以传递系统属性通过cruisecontrol.sh/cruisecontrol.bat或者web container启动脚本.

Property Value Default Value Description
cc.config.forcebuild enabled/disabled enabled 是否用户能够从gui来强制启动build
cc.logdir String logs 用来指定CruiseControl的log的全目录
cc.artifacts String artifacts 用来指定build的binary/master的全路径
dashboard.config String dashboard-config.xml 用来指定Dashborad配置文件的路径

 

Dashborad配置文件Dashborad-config.xml:  

 <buildloop> tag用来指定cruisecontrol build loop相关的属性logsdir和artifactsdir。

<features> tag 包含了自定义Dashborad的属性allforcebuild。

<trackingtool> tag 包含属性projectname,baseurl和keywords,用来创建project管理工具的提交注解的链接。你的projects可以有零个或一个<trackingtool> tag。Dashborad将解析提交消息来发现指定关键字后面的story number,然后用指定的baseurl和story number来产生链接。例如如果你提交source code且提交消息为 "I fixed bug #425" 且定义<trackingtool>像 <trackingtool projectname="cc" baseurl="http://mingle05/projects/ccee/cards/" keywords="#,build"/>,那么Dashborad会为你的提交消息产生链接 "<a href=http://mingle05/projects/ccee/cards/425>I fixed bug #425</a>"  。

<subtabs> tag 被用来为build 详细页面指定widget plugin,你可以有零个或一个subtabs tags,其中一个subtabs可以包含多个subtab tags。 

 

完!

posted @ 2010-07-18 10:54  iTech  阅读(1774)  评论(0编辑  收藏  举报