UML软件工程组织

 

 

Ant、SVN、CruiseControl每日构建 配置方法
 
2008-03-21 作者:Lyon 来源:woshixiejin.spaces.live.com
 

应公司项目要求,最近搞了搞ant/svn/cruisecontrol的每日构建,趁着还没有忘记,赶紧把一些重要的步骤记录下来。

一:ANT与SVN的集成

  1. ant:大家都知道,是基于java的build工具,不用多说。
  2. svn:目前流行的版本控制软件(架构?)。
  3. ant可以将svn集成进来,即:在ant的build.xml脚本中,定义svn的下载,进行动态编译,这是个好东东哦。
  4. 脚本配置大致如下:
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpath="./lib/svnant.jar" />       
        <svn username="${svn_login}" password="${svn_password}" javahl="true">
              <checkout url="${svn_url_ide_environment}" revision="HEAD" destPath="${ide.environment.srccode.dir}"/>
              <checkout url="${svn_url_epos_project}" revision="HEAD" destPath="${ide.epos.project.srccode.dir}"/>
            </svn>
  1. 然后配置环境变量ANT_HOME=D:\Work\Lib\apache-ant-1.6.4、并且在PATH中加入ANT的BIN目录,这样,才能在命令行中执行ant命令。
  2. 写好build.xml后,兴冲冲的跑去CMD执行ant,哇,错得一塌糊涂,错误提示找不到javahl,这是啥东西,不管他,去http://subversion.tigris.org/下载一个“svnant”,我这边的版本是svnant 0[1].9.13,将压缩包根目录下面的全部DLL文件拷贝到system32目录下,再在命令行中执行ant,发现成功了,ant乖乖的开始从SVN服务器下载文件了。

二:Ant、SVN、CruiseControl再集成

  1. 在cruisecontrol中配置SVN选项:
       <bootstrappers>
            <svnbootstrapper localWorkingCopy="projects/${project.name}" />
        </bootstrappers>
        <modificationset quietperiod="30">
            <svn localWorkingCopy="projects/${project.name}"/>
        </modificationset>
  1. 执行cruisecontrol.bat
  2. 报错啦:net.sourceforge.cruisecontrol.CruiseControlException: Error executing SVN update command
  3. 大伙可以去google和baidu查查,求助的帖子一大堆,就是没有解决办法(或是人家解决了不愿意说出来)。
  4. 都到这份上,该发挥群众的智慧了。
  5. 考虑到上面ANT和SVN集成的问题,首先想到的是,可能没有在环境变量中引入SVN的执行BIN。笔者安装的SVN客户端是TortoiseSVN,于是在配置环境变量SVN_HOME=D:/TortoiseSVN,然后加入PATH中……;%SVN_HOME%\BIN。
  6. 再执行执行cruisecontrol.bat,TMMD,还是net.sourceforge.cruisecontrol.CruiseControlException: Error executing SVN update command
  7. 发飙了,还是要错,不就SVN命令找不到嘛,这个好办,我们再来。
  8. 还是去http://subversion.tigris.org/,下载svn-1.4.3-setup.exe,安装后,将SVN_HOME修改成Subversion的根目录(检查一下,在Subversion的BIN目录下,居然有SVN.EXE)。
  9. 再执行执行cruisecontrol.bat,好了,成功了。

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号