配置3个文件。cruiseonctrol的config.xml文件。
<bootstrappers>
<cvsbootstrapper localWorkingCopy="projects/${project.name}" />
</bootstrappers>
<modificationset quietperiod="30">
<cvs localWorkingCopy="projects/${project.name}"/>
</modificationset>
有可能原装config.xml文件没这两个tag。补上即可,其他都不用变。
projects/项目名称下的build.xml文件。
<project name="HelloWorld" basedir="." default="all">
<!--property name="build.compiler" value="jikes"/>
<property name="build.compiler.emacs" value="true"-->
<property name="build.dir" value="classes"/>
<property name="dist.dir" value="target"/><!--一定要是target-->
<property name="logdir" value="logs"/>
<property name="source.dir" value="src"/>
<property name="junit.results" value="test-results"/>
<property name="cvs.repository" value=":pserver:administrator:844270@192.168.1.37:/Repository"/><!--cvs服务器连接字符-->
<property name="cvs.package" value="userCenter"/><!--项目名称-->
<target name="init" description="Prepare for build">
<mkdir dir="${build.dir}"/>
<mkdir dir="${dist.dir}"/>
<mkdir dir="${logdir}"/>
</target>
<target name="clean" description="Clean all build products">
<delete dir="${build.dir}"/>
<delete dir="${dist.dir}"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${dist.dir}"/>
</target>
<target name="compile" depends="init" description="Compile application without cleaning">
<javac srcdir="${source.dir}" destdir="${build.dir}"
includes="**/*.java" debug="true" deprecation="true"/>
</target>
<target name="test" depends="init" description="Run unit tests">
<delete dir="${junit.results}"/>
<mkdir dir="${junit.results}"/>
<junit fork="yes" haltonfailure="yes">
<classpath>
<pathelement location="${build.dir}"/>
</classpath>
<formatter type="plain" usefile="false"/>
<formatter type="xml"/>
<batchtest todir="${junit.results}">
<fileset dir="${build.dir}" includes="**/*Test.class"/>
</batchtest>
</junit>
</target>
<target name="jar">
<jar jarfile="${dist.dir}\userCenter.jar">
<fileset dir="${build.dir}"/>
</jar>
</target>
<target name="all" depends="init,clean,compile,test,jar" description="Build application"/>
<target name="checkout" description="Update package from CVS">
<cvs cvsroot="${cvs.repository}" package="${cvs.package}" dest=".."/>
</target>
<target name="masterbuild" depends="checkout,compile,test,jar"
description="Cruise control master build"/>
<target name="cleanbuild" depends="clean,masterbuild" description="Cruise control clean build"/>
</project>
标准格式如上.
CVSROOT下新增users文件(无后缀).
# CruiseControl login mapping email configuration
# $Id: users,v 1.2 2009/12/02 02:13:01 administrator Exp $
cvsUserName:administrator@192.168.1.37
这是一个映射map。无他会导致无法连接cvs。
projects文件夹下的项目必须是由cvs上checkout出来的。不能直接拷贝进去.
<bootstrappers>
<cvsbootstrapper localWorkingCopy="projects/${project.name}" />
</bootstrappers>
<modificationset quietperiod="30">
<cvs localWorkingCopy="projects/${project.name}"/>
</modificationset>
有可能原装config.xml文件没这两个tag。补上即可,其他都不用变。
projects/项目名称下的build.xml文件。
<project name="HelloWorld" basedir="." default="all">
<!--property name="build.compiler" value="jikes"/>
<property name="build.compiler.emacs" value="true"-->
<property name="build.dir" value="classes"/>
<property name="dist.dir" value="target"/><!--一定要是target-->
<property name="logdir" value="logs"/>
<property name="source.dir" value="src"/>
<property name="junit.results" value="test-results"/>
<property name="cvs.repository" value=":pserver:administrator:844270@192.168.1.37:/Repository"/><!--cvs服务器连接字符-->
<property name="cvs.package" value="userCenter"/><!--项目名称-->
<target name="init" description="Prepare for build">
<mkdir dir="${build.dir}"/>
<mkdir dir="${dist.dir}"/>
<mkdir dir="${logdir}"/>
</target>
<target name="clean" description="Clean all build products">
<delete dir="${build.dir}"/>
<delete dir="${dist.dir}"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${dist.dir}"/>
</target>
<target name="compile" depends="init" description="Compile application without cleaning">
<javac srcdir="${source.dir}" destdir="${build.dir}"
includes="**/*.java" debug="true" deprecation="true"/>
</target>
<target name="test" depends="init" description="Run unit tests">
<delete dir="${junit.results}"/>
<mkdir dir="${junit.results}"/>
<junit fork="yes" haltonfailure="yes">
<classpath>
<pathelement location="${build.dir}"/>
</classpath>
<formatter type="plain" usefile="false"/>
<formatter type="xml"/>
<batchtest todir="${junit.results}">
<fileset dir="${build.dir}" includes="**/*Test.class"/>
</batchtest>
</junit>
</target>
<target name="jar">
<jar jarfile="${dist.dir}\userCenter.jar">
<fileset dir="${build.dir}"/>
</jar>
</target>
<target name="all" depends="init,clean,compile,test,jar" description="Build application"/>
<target name="checkout" description="Update package from CVS">
<cvs cvsroot="${cvs.repository}" package="${cvs.package}" dest=".."/>
</target>
<target name="masterbuild" depends="checkout,compile,test,jar"
description="Cruise control master build"/>
<target name="cleanbuild" depends="clean,masterbuild" description="Cruise control clean build"/>
</project>
标准格式如上.
CVSROOT下新增users文件(无后缀).
# CruiseControl login mapping email configuration
# $Id: users,v 1.2 2009/12/02 02:13:01 administrator Exp $
cvsUserName:administrator@192.168.1.37
这是一个映射map。无他会导致无法连接cvs。
projects文件夹下的项目必须是由cvs上checkout出来的。不能直接拷贝进去.