应公司项目要求,最近搞了搞ant/svn/cruisecontrol的每日构建,趁着还没有忘记,赶紧把一些重要的步骤记录下来。
一:ANT与SVN的集成
ant:大家都知道,是基于java的build工具,不用多说。
svn:目前流行的版本控制软件(架构?)。
ant可以将svn集成进来,即:在ant的build.xml脚本中,定义svn的下载,进行动态编译,这是个好东东哦。
脚本配置大致如下:
<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>
然后配置环境变量ANT_HOME=D:\Work\Lib\apache-ant-1.6.4、并且在PATH中加入ANT的BIN目录,这样,才能在命令行中执行ant命令。
写好build.xml后,兴冲冲的跑去CMD执行ant,哇,错得一塌糊涂,错误提示找不到javahl,这是啥东西,不管他,去http://subversion.tigris.org/下载一个“svnant”,我这边的版本是svnant 0[1].9.13,将压缩包根目录下面的全部DLL文件拷贝到system32目录下,再在命令行中执行ant,发现成功了,ant乖乖的开始从SVN服务器下载文件了。
二:Ant、SVN、CruiseControl再集成
在cruisecontrol中配置SVN选项:
<bootstrappers>
<svnbootstrapper localWorkingCopy="projects/${project.name}" />
</bootstrappers>
<modificationset quietperiod="30">
<svn localWorkingCopy="projects/${project.name}"/>
</modificationset>
执行cruisecontrol.bat
报错啦:net.sourceforge.cruisecontrol.CruiseControlException: Error executing SVN update command
大伙可以去google和baidu查查,求助的帖子一大堆,就是没有解决办法(或是人家解决了不愿意说出来)。
都到这份上,该发挥群众的智慧了。
考虑到上面ANT和SVN集成的问题,首先想到的是,可能没有在环境变量中引入SVN的执行BIN。笔者安装的SVN客户端是TortoiseSVN,于是在配置环境变量SVN_HOME=D:/TortoiseSVN,然后加入PATH中……;%SVN_HOME%\BIN。
再执行执行cruisecontrol.bat,TMMD,还是net.sourceforge.cruisecontrol.CruiseControlException: Error executing SVN update command
发飙了,还是要错,不就SVN命令找不到嘛,这个好办,我们再来。
还是去http://subversion.tigris.org/,下载svn-1.4.3-setup.exe,安装后,将SVN_HOME修改成Subversion的根目录(检查一下,在Subversion的BIN目录下,居然有SVN.EXE)。
再执行执行cruisecontrol.bat,好了,成功了。
分享到:
相关推荐
如果你用的是 CC2.2 版本,那么在%CC_HOME%\reporting\jsp\dist 目录下已经有一个 cruisecontrol.war 文件,你可以直接将这个文件 COPY 到你的%TOMCAT_HOME%\webapps 目录下,不 过这种方式通常都会出错,前 面我们...
3. **插件支持**:CC 2.2支持多种构建工具,如Apache Ant、Maven等,以及单元测试框架,如JUnit、TestNG。这意味着开发者可以根据项目需求灵活选择工具,同时保持集成的统一性。 4. **通知机制**:当构建失败时,CC...
它要求项目拥有自动化的构建脚本,例如基于 Maven 或 Ant,以实现构建过程的自动化。当项目代码有变更时,CruiseControl 会自动触发构建,如果构建失败,会通过Email或其他方式通知相关人员。 **二、环境要求** 1. ...
1.3 Config CC 配置CruiseControl涉及到以下步骤: - **CruiseControl**:安装并启动CruiseControl服务,通常通过修改`cruisecontrol.properties`配置文件来定制服务设置。 - **svnant**:这是一个Ant插件,用于在...
它支持多种构建工具(如Ant、Maven等)、版本控制系统(如SVN、Git等)以及测试框架(JUnit、NUnit等)。CruiseControl的主要特点包括: - **灵活性**:能够根据不同的项目需求定制构建过程。 - **可扩展性**:通过...
构建管理工具如`build-management`可以帮助自动化构建过程,例如使用Apache Ant或CMake,这些工具可以读取Subversion仓库中的信息,自动下载依赖,构建和测试项目,甚至发布版本。 总结起来,Apache Subversion是...
3. **编译与构建**:JDEE集成了构建工具,如Ant或Maven,可以快速编译、运行和打包Java项目,同时显示编译错误和警告。 4. **调试**:JDEE内建了Java源码级别的调试器,允许用户设置断点、单步执行、查看变量值和...
源代码可以从Apache Nutch 2.3的版本库中获取,这通常意味着你可以通过Git或SVN等版本控制系统签出代码,进行自定义开发或者跟踪项目的最新进展。 Nutch-GUI的核心功能包括: 1. **配置管理**:允许用户创建、编辑...
它支持多种版本控制系统(如Git、SVN等),并且可以与各种构建工具(如Maven、Ant)和测试框架(如JUnit、Selenium)集成。通过定时触发或代码仓库的 webhook,詹金斯可以实现实时的代码构建和测试,从而提升开发...