Maven2+Subversion+CruiseContril

本文介绍如何安装配置CruiseControl、Maven及Subversion等工具来搭建持续集成环境,并详细说明每一步骤及其设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.       Install CruiseControl 2.7.2

2.       Install Maven 2.0.9

3.       Install Subversion 1.4.6

4.       Set  path=”${Maven_Home}/bin;${Subversion_Home}/bin”

5.       Set MAVEN2_HOME==”${Maven_Home}/”

6.       F:/svnrepository>svnadmin create f:/svnrepository

7.       F:/tmp>mvn archetype:create -DgroupId=org.aaron -DartifactId=abc

8.        

F:/> mkdir tmp/project

F:/> cd tmp/project

F:/tmp/project> mkdir branches

F:/tmp/project> mkdir tags

F:/tmp/project> mkdir trunk

F:/Tmp/project> dir

 Volume in drive F is GWCS60

 Volume Serial Number is E472-052C

 

 Directory of F:/tmp/project

 

12.09.2004  11:53    <DIR>          .

12.09.2004  11:53    <DIR>          ..

12.09.2004  11:53    <DIR>          branches

12.09.2004  11:53    <DIR>          tags

12.09.2004  11:53    <DIR>          trunk

               0 File(s)              0 bytes

               5 Dir(s)   7?98?42?76 bytes free

F:/tmp/project>

9.       abc文件夹下的所有东西都拷贝到F:/tmp/project/trunk下面

10.   F:/tmp>svn import F:/tmp/project file:///f:/svnrepository -m "Initial import"

11.   创建CruiseControl的工作目录,结构如下

ccworkplace/

      /logs

        /project_name

      /checkout

         /project_name

      /artifacts

         /project_name

注:CruiseControl支持构建多个项目,每个项目涉及:logscheckoutartifacts。它们的作用分别是:记录build结果、checkout代码的工作目录、部件发布地。这个结构就是为了这三个目的而创建的,每一级下的project_name都是对应的

12.    修改%CruiseControl_Home%/ webapps/cruisecontrol/WEB-INF/web.xml

   查找:context-param logDir;修改它的值:…/ccworkplace/logs  查找:ArtifactServletinit-param rootDir;修改它的值:…/ccworkplace/artifacts

13. 修改%CruiseControl_Home%/config.xml,内容

<cruisecontrol>

    <property name="cruisedir" value="F:/ccworkplace"/>

    <property name="logdir" value="${cruisedir}/logs"/>

    <property name="checkoutdir" value="${cruisedir}/checkout"/>

    <property name="artifactdir" value="${cruisedir}/artifacts"/>

 

   

    <project name="Project">

        <listeners>

            <currentbuildstatuslistener file="${logdir}/${project.name}/status.txt"/>

        </listeners>

        <bootstrappers>

            <svnbootstrapper localWorkingCopy="${checkoutdir}/${project.name}" />

        </bootstrappers>

        <modificationset quietperiod="30">

            <svn RepositoryLocation="file:///F:/svnrepository/trunk"/>

        </modificationset>

        <schedule interval="30">

            <maven2 mvnscript="E:/apache-maven-2.0.9/bin/mvn.bat"

                    pomfile="${checkoutdir}/${project.name}/pom.xml"

                    goal="scm:update 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/abc-1.0-SNAPSHOT.jar"/>

            </onsuccess>

        </publishers>

    </project>

</cruisecontrol>

 

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值