Maven2 + Subversion + CruiseControl搭建持續集成環境
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的工作目錄,結構如下:
- clearcase/" target="_blank" >ccworkplace\
- \logs
- \project_name
- \checkout
- \project_name
- \artifacts
- \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,內容:
- <cruisecontrol>
- <property name="cruisedir" value="…/ccworkplace"/>
- <property name="logdir" value="${cruisedir}/logs"/>
- <property name="checkoutdir" value="${cruisedir}/checkout"/>
- <property name="artifactdir" value="${cruisedir}/artifacts"/>
-
- <project name="codelinecomponents">
- <listeners>
- <currentbuildstatuslistener file="${logdir}/${project.name}/status.txt"/>
- </listeners>
- <bootstrappers>
- <svnbootstrapper localWorkingCopy="${checkoutdir}/${project.name}" />
- </bootstrappers>
- <modificationset quietperiod="30">
- <svn localWorkingCopy="${checkoutdir}/${project.name}"/>
- </modificationset>
- <schedule interval="300">
- <maven2 mvnscript="%M2_Home%/bin/mvn.bat"
- pomfile="${checkoutdir}/${project.name}/pom.xml"
- goal="clean site package"/>
- </schedule>
- <log dir="${logdir}/${project.name}">
- <merge dir="${checkoutdir}/${project.name}/target/surefire-reports"/>
- </log>
- <publishers>
- <onsuccess>
- <artifactspublisher dest="${artifactdir}/${project.name}"
- file="${checkoutdir}/${project.name}/target/${project.name}.jar"/>
- </onsuccess>
- </publishers>
- </project>
- </cruisecontrol>
6.運行%CruiseControl_Home%/cruisecontrol.bat,因為cruisecontrol.bat已經自帶了jetty,之后進入:http://localhost:8080/即可。
原文轉自:http://www.anti-gravitydesign.com