加入收藏 | 设为首页 | Life家族 | SCMLife | RMLife | PMLife | SQALife | TESTLife | 企业VIP专区 | 中文化荣誉殿堂
 
发新话题
打印

[原创] cruisecontrol+clearcase过程( 此文章被查看:1153次,被回复:3篇!! )

cruisecontrol+clearcase过程

准备:
一、相关软件
1、CruiseControl-2.7.3.exe
2、j2sdk-1_4_2_09-windows-i586-p.exe
3、ClearCase 2003.06.00 Base

二、CruiseControl-2.7.3安装路径:D:\CruiseControl

三、环境变量的配置:
1User Variable nameJAVA_HOME      valueC:\Program Files\j2sdk1.4.2_09\
2Syatem VariablenamePath      valueC:\Program Files\j2sdk1.4.2_09\bin

提示
1设置环境变量后重启电脑,可通过命令echo %JAVA_HOME% 可查看是否设置成功。
2、运行cruisecontol.bat,若报错:

org.mortbay.util.MultiException [java.net.BindException: Address already in use: JVM_Bind]

表示cruisecontrol.bat文件中默认的8080端口被占用,可关闭占用该端口的进程解决此问题。


解决办法:cmd -> netstat –nao | findstr 8080,然后根据PID在任务管理器中找到对应的进程关闭即可。

没有报错后,运行cruisecontrol.bat,在IE中输入网址:http://localhost:8080可看到cruisecontrol主页面。

实施:
总的来说,config.xml文件的配置只要参考官方帮助文档config ref来写的话,问题都不是很大。
config ref的网址:http://cruisecontrol.sourceforge.net/main/configxml.html

说明:
1、这是用ClearCase中的实际项目myproject做的cruisecontrol测试,其中用的是我们自己编写的build脚本,没有用到ant或着maven
2、测试过程中产生的各种log文件都保存在cruisecontrol的安装路径下的log目录中(D:\CruiseControl\logs\myproject),执行myproject的编译脚本build.bat生成的myproject.bin文件保存在cruisecontrol的安装路径下的artifacts目录中(D:\CruiseControl\artifacts\myproject)。另外schedule部分的exec可以按照以下配置内容写,也可以按照官方帮助文档config ref中的exec的例子来写,例子中有显示。

下面是实际的config.xml配置内容:
<cruisecontrol>

<project name="myproject" requiremodification="false">


<listeners>
    <currentbuildstatuslistener file="D:\CruiseControl\logs\myproject\listeners_status.txt" />

</listeners>

<bootstrappers>

    <currentbuildstatusbootstrapper file="D:\CruiseControl\logs\myproject\bootstrappers_status.txt" />
</bootstrappers>

<modificationset>

    <clearcase branch="dev_int_myproject" viewpath="M:\training\myproject " recursive="true" />
</modificationset>

<schedule interval="300" showProgress="true" >

    <exec command="D:\CruiseControl\projects\myproject\build.bat" />

    <!--exec workingdir="D:\CruiseControl\projects\myproject" command="C:\WINDOWS\system32\cmd.exe"
                args="build.bat" /-->
</schedule>

<log dir="D:\CruiseControl\logs\myproject">

    <!--merge -->
</log>

<publishers>

    <artifactspublisher file=" M:\training\myproject \myproject.bin" dest="D:\CruiseControl\artifacts\myproject" />
    <htmlemail mailhost="公司邮件服务器IP"
                      buildresultsurl="http://localhost:8080/cruisecontrol/buildresults/myproject"
                      returnaddress="公司邮箱"
                      spamwhilebroken="true"
                      subjectprefix="Build"
                      logdir="D:\cruisecontrol\logs\myproject" >
                      <always address="公司邮箱"/>
     </htmlemail>

</publishers>

</project>


</cruisecontrol>

以上只是个很简单的config.xml的配置,希望能对大家有所帮助。也希望大家能指出不足之处,多交流这方面的经验。
如果用于实际项目请自行修改相关内容。谢谢。

[ 本帖最后由 朱雀_陵光 于 2008-9-16 17:36 编辑 ]



© 本文为 朱雀_陵光SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

很不错,测完之后你可以添加更多的内容进去了



© 本文为 achinarenSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

请问
<!--exec workingdir="D:\CruiseControl\projects\myproject" command="C:\WINDOWS\system32\cmd.exe"
                args="build.bat" /-->
这里的build.bat文件是放在什么目录下的?



© 本文为 daisySCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

回复 板凳 的帖子

就放在workingdir的路径下啊。
build.bat的完整路径是:D:\CruiseControl\projects\myproject\build.bat

© 本文为 朱雀_陵光 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

发新话题