Maven2 + Subversion + CruiseControl搭建持續集成環境

發表于:2008-10-08來源:作者:點擊數: 標簽:Subversion環境
1.創建Maven2項目,并import到Subversion Repository。 2.下載CruiseControl,版本2.5。 3.創建CruiseControl的工作目錄,結構如下: Java 代碼 ccworkplace\ \logs \project_name \checkout \project_name \artifacts \project_name 注:CruiseControl支持
1.創建Maven2項目,并import到Subversion Repository。 
2.下載CruiseControl,版本2.5。 
3.創建CruiseControl的工作目錄,結構如下: 
Java代碼 復制代碼
  1. clearcase/" target="_blank" >ccworkplace\  
  2.       \logs  
  3.         \project_name  
  4.       \checkout  
  5.          \project_name  
  6.       \artifacts  
  7.          \project_name  


注:CruiseControl支持構建多個項目,每個項目涉及:logs、checkout、artifacts。它們的作用分別是:記錄build結果、checkout代碼的工作目錄、部件發布地。這個結構就是為了這三個目的而創建的,每一級下的project_name都是對應的。 
4.修改%CruiseControl_Home%/ webapps/cruisecontrol/WEB-INF/web.xml: 
- 查找:context-param logDir;修改它的值:…/ccworkplace/logs 
- 查找:ArtifactServlet的init-param rootDir;修改它的值:…/ccworkplace/artifacts 
5. 修改%CruiseControl_Home%/config.xml,內容: 
Java代碼 復制代碼
  1. <cruisecontrol>  
  2.     <property name="cruisedir" value="…/ccworkplace"/>  
  3.     <property name="logdir" value="${cruisedir}/logs"/>  
  4.     <property name="checkoutdir" value="${cruisedir}/checkout"/>  
  5.     <property name="artifactdir" value="${cruisedir}/artifacts"/>  
  6.    
  7.     <project name="codelinecomponents">  
  8.         <listeners>  
  9.             <currentbuildstatuslistener file="${logdir}/${project.name}/status.txt"/>  
  10.         </listeners>  
  11.         <bootstrappers>  
  12.             <svnbootstrapper localWorkingCopy="${checkoutdir}/${project.name}" />  
  13.         </bootstrappers>  
  14.         <modificationset quietperiod="30">  
  15.             <svn localWorkingCopy="${checkoutdir}/${project.name}"/>  
  16.         </modificationset>  
  17.         <schedule interval="300">  
  18.             <maven2 mvnscript="%M2_Home%/bin/mvn.bat"  
  19.                     pomfile="${checkoutdir}/${project.name}/pom.xml"  
  20.                     goal="clean site package"/>  
  21.         </schedule>  
  22.         <log dir="${logdir}/${project.name}">  
  23.             <merge dir="${checkoutdir}/${project.name}/target/surefire-reports"/>  
  24.         </log>  
  25.         <publishers>  
  26.             <onsuccess>  
  27.                 <artifactspublisher dest="${artifactdir}/${project.name}"   
  28.                             file="${checkoutdir}/${project.name}/target/${project.name}.jar"/>  
  29.             </onsuccess>  
  30.         </publishers>  
  31.     </project>  
  32. </cruisecontrol>   

6.運行%CruiseControl_Home%/cruisecontrol.bat,因為cruisecontrol.bat已經自帶了jetty,之后進入:http://localhost:8080/即可。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97