一 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,表示不顯示警告,預設為顯示所有的錯誤和警告。這個預設是不指定的。
完!