Maven2 + Subversion + CruiseControl搭建持续集成环境

 1.创建Maven2项目,并import到Subversion Repository。
2.下载CruiseControl,版本2.5。
3.创建CruiseControl的工作目录,结构如下:

代码

  1. 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,内容:

代码
  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>   

<script type="text/javascript">render_code();</script>


6.运行%CruiseControl_Home%/cruisecontrol.bat,因为cruisecontrol.bat已经自带了jetty,之后进入:http://localhost:8080/即可。

<script type="text/javascript">render_code();</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值