[CruiseControl]Build Result JSP
一 Build Result JSP
Build Result JSP被设计用来呈现CruiseControl的build loop的结果。页面的左边是关于Cruisecontrol是否正在build你的project,同时也提供先前build的链接。页面的右边是build的结果,包括编译错误,测试结果,从上次build后所修改的文件的列表。
Build Result JSP 如下图:
二 Build Result JSP如何工作
JSP使用自定义的tag来处理大部分过程。这使得code和content分离,开发人员只需要修改code不必关心page的设计,设计人员可以集中精力在page的布局上不必知道任何Java code。所有的字体和颜色都使用css文件来控制,以至于所有的样式都可以被容易地集中地配置。
JSP右边的build detail部分是对CruiseControl build loop的xml log使用xsl转化后生成的html。 JSP左边的部分是由CruiseControl的log目录下的log文件的列表生成的html。JSP根据一定的命名规范来区分log所属的project。JSP通过build loop开始和结束时生成特定的text文件来决定当前那个build正在运行。
三 Build Result JSP的配置
1)build 参数(从源代码安装时)
我们知道build Result JSP页面需要build loop的结果来生成,所以如果手动从源代码生成JSP时,需要指定参数: user.log.dir
, user.build.status.file
, 和 cruise.build.artifacts.dir。
2)系统属性
系统属性被用来在CruiseControl进程和Report application间传递命令行参数,如下属性:ccname,cruisecontrol.jmxport,cruisecontrol.jmxhost,cruisecontrol.rmiport。
3)配置web.xml
JSP reporting程序使用context参数和servlet初始化参数来配置和自定义。这些参数都可以直接在web.xml中修改。
context参数:
cacheRoot 指定目录作为xsl转化的缓存,web context必须对此目录有写权限,如果没有指定 ,缓存会被保存在logdir的子目录called_cache。但是binary安装不指定此值。
logDir 指定cruisecontrol的log目录。如果是在单project模式下,log将直接在此目录下。如果是多project模式,将为每个project建立自己的子目录。默认值是build参数user.log.dir,但是对于binary安装时为logs。
singleProject 指定是否cruisecontrol实例只处理一个project。默认为false。
currentBuildStatusFile 指定currentbuildstatuslistener产生的当前build状态文件的名字,且该文件位于projects的log目录。默认地该值为build参数user.build.status.file所指定的值。但是对于binary安装此值为status.txt。
fileServlet.welcomeFiles 当servlet显示浏览的目录时使用的index页面,可以指定空格分隔的多个index页面,默认为index.htm,index.html。
cruisecontrol.jmxhost 指定JMX HttpAdaptor的host。
cruisecontrol.jmxport 指定JMX HttpAdaptor的port。
xslt.* 任何以xslt开始的参数都被传递到xsl stylesheets当做xslt参数。
servlet参数:
rootDir 指定build 的binary/master存储的绝对路径。如果没有指定logdir将被使用。默认值为build参数,cruise.build.artifacts.dir。但是binary安装时为artifacts。
4)xslt参数
一些xsl stylesheets能通过xslt参数来配置。这些参数作为context参数来传递,但是有xslt前缀。例如参数xslt.viewcvs.url来配置viewcvs.url。
pmd.warning.threshold pmd优先级高于threshod将被认为是警告且在build result页面上报告数量。
viewcvs.url 指定viewcvs的url,此url将被cvstagdiff.xsl, checkstyle-details.xsl and pmd-details.xsl使用,默认不指定。
cvstagdiff.success.show 指定当build成功时,是否viewcvs的不同报告应该被显示。默认只是显示broken build的修改报告。
checkstyle.hide.warnings 指定是否checkstyle错误或所有的checkstyle错误和警告应该被显示在build results页面。设置为true,表示不显示警告,默认为显示所有的错误和警告。这个默认是不指定的。
完!