当前位置: 代码迷 >> CVS/SVN >> CruiseControl+Maven+SVN 配备
  详细解决方案

CruiseControl+Maven+SVN 配备

热度:7064   发布时间:2013-02-26 00:00:00.0
CruiseControl+Maven+SVN 配置
(1)到http://cruisecontrol.sourceforge.net/download下载Cruisecontrol (我们的版本是2.8.4)
(2)到http://subversion.tigris.org/下载Subversion客户端 (我们的windows版本是1.7.5,linux是1.6)
(3)到http://maven.apache.org下载maven客户端 (我们的版本是3.0.4)
(4)安装Subversion客户端,并设置PATH变量,以便系统能找到svn命令,Windows下安装成功后会自动设置
(5)添加构建工程,在projects下使用命令:svn co 工程的检出地址,检出整个工程.
(6)添加工程到cruisecontrol的配置文件config.xml中,配置如下:(实际上还有一个配置文件dashboard-config.xml,我们用默认值)

<cruisecontrol>
    <system>
          <configuration>
             <threads count="2"/>
          </configuration>
    </system>

    <property name="maven" value="F:/software/apache-maven-3.0.4" />
    <property name="svn_user" value="yong.luo" />
    <property name="svn_pwd" value="yong.luo" />
  
    <project name="webcds2"> --这里的name应该和你在projects目录下的项目名完全一致。
      
        <listeners>--用于监听项目状态的变化(指building,passed等)
            <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
        </listeners>

        <bootstrappers>--用于CruiseControl从Repository更新代码
            <svnbootstrapper localWorkingCopy="projects/${project.name}" username="${svn_user}" password="${svn_pwd}"/>
        </bootstrappers>

        <modificationset quietperiod="60">--用于监听在quietperiod秒内,Repository是否变化
            <svn localWorkingCopy="projects/${project.name}" username="${svn_user}" password="${svn_pwd}"/>
        </modificationset>

        <schedule interval="300">--用于每隔interval秒,CruiseControl去检查并计划一次构建
            <maven2 mvnhome="${maven}" pomfile="projects/${project.name}/pom.xml" goal="clean package site"/>
        </schedule>

        <log>
            <merge dir="projects/${project.name}/target/test-results"/>
        </log>

        <publishers>--用于将构建的结果(如二进制文件)发布到指定的位置
            <onsuccess>--决定在构建成功的情况下,发布哪些内容
                <artifactspublisher dir="projects/${project.name}/target" dest="artifacts/${project.name}" />
            </onsuccess>

            <htmlemail
                charset="UTF-8"
                mailhost="mail.baifendian.com"
                defaultsuffix="@baifendian.com"
                username="bae-service@baifendian.com"
                password="ax3Yf734gw"
                returnname="CruiseControl"
                returnaddress="bae-service@baifendian.com"
                subjectprefix="build log"
                xsldir="webapps/cruisecontrol/xsl"
                css="webapps/cruisecontrol/css/cruisecontrol.css">
                <!--<always address="yong.luo@baifendian.com"/>-->
                <failure address="yong.luo@baifendian.com"/>
            </htmlemail>

        </publishers>

    </project> 
</cruisecontrol>

(7)配置结束。直接运行CruiseControl目录下的CruiseControl.bat,它会自行启动Jetty6,访问地址:http://localhost:8080/dashboard 此时你会看到一个名为webcds2的项目在Dashboard上显示了。