cruisecontrol 持续集成简单心得

本文详细介绍了如何配置CruiseControl以实现项目的自动化构建流程。包括修改config.xml文件以支持项目更新,调整build.xml文件用于定义项目的构建过程,以及设置CVS连接参数确保代码可以从版本控制系统中正确拉取。

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

配置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出来的。不能直接拷贝进去.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值