cruisecontrol、svn、maven持续集成

来源:互联网 发布:windows安装mac 编辑:程序博客网 时间:2024/05/01 16:16

1. CruiseControl可以运行在多种应用服务器中,当然,它自己也捆绑了一个开源应用服务器,那就是Jetty 6.

 

2. 直接运行CruiseControl目录下的CruiseControl.bat,它会自行启动Jetty6, 当从Console中看到它启动完毕后,你就可以在浏览器中访问http://localhost:8080/dashboard,此时你会看到一个名为connectFour的示例项目在Dashboard上显示了

 

3. Projects目录:就是CruiseControl存储所有构建项目源代码的目录,默认值为工作目录下名为projects目录. 通过svn工具把项目checkout到该目录下。

 

4. Config.xml 文件说明

<cruisecontrol>
    
<project name="connectfour">  --这里的name应该和你在projects目录下的项目名完全一致。

        
<listeners>          --用于监听项目状态的变化(指building,passed等)
            
<currentbuildstatuslistener file="logs/${project.name}/status.txt"/>   --这里的${project.name}
        
</listeners>                                                                                                                 是指“connectfour”

        
<bootstrappers>        --用于CruiseControl从Repository更新代码
            
<svnbootstrapper localWorkingCopy="projects/${project.name}" />
        
</bootstrappers>

        
<modificationset quietperiod="30">      --用于监听在quietperiod秒内Repository是否变化
            
<svn localWorkingCopy="projects/${project.name}"/>
        
</modificationset>

        
<schedule interval="300">  --用于每隔interval秒,CruiseControl去检查并计划一次构建
            
<maven2 mvnhome="c:/maven-2.0.7" pomfile="projects/${project.name}/pom.xml" goal="clean package site"/>
        
</schedule>

        
<log>  --用于得到并保存log文件。默认情况下,将放在projects/${project.name}的目录下
            
<merge dir="projects/${project.name}/target/test-results"/> --用于将Build中生成的结果合并
        
</log>                                                                                                            到log文件中

        
<publishers>  --用于将构建的结果(如二进制文件)发布到指定的位置
            
<onsuccess>  --决定在构建成功的情况下,发布哪些内容
                
<artifactspublisher dest="F:/share_war" file="projects/${project.name}/web/target/web.war"/>
            
</onsuccess>
        
</publishers>

    
</project>
</cruisecontrol>


原创粉丝点击