`
foxgem
  • 浏览: 17235 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Maven2 + Subversion + CruiseControl搭建持续集成环境

阅读更多
1.创建Maven2项目,并import到Subversion Repository。
2.下载CruiseControl,版本2.5。
3.创建CruiseControl的工作目录,结构如下:
ccworkplace\
      \logs
        \project_name
      \checkout
         \project_name
      \artifacts
         \project_name


注:CruiseControl支持构建多个项目,每个项目涉及:logs、checkout、artifacts。它们的作用分别是:记录build结果、checkout代码的工作目录、部件发布地。这个结构就是为了这三个目的而创建的,每一级下的project_name都是对应的。
4.修改%CruiseControl_Home%/ webapps/cruisecontrol/WEB-INF/web.xml:
- 查找:context-param logDir;修改它的值:…/ccworkplace/logs
- 查找:ArtifactServlet的init-param rootDir;修改它的值:…/ccworkplace/artifacts
5. 修改%CruiseControl_Home%/config.xml,内容:
<cruisecontrol>
    <property name="cruisedir" value="…/ccworkplace"/>
    <property name="logdir" value="${cruisedir}/logs"/>
    <property name="checkoutdir" value="${cruisedir}/checkout"/>
    <property name="artifactdir" value="${cruisedir}/artifacts"/>
 
    <project name="codelinecomponents">
        <listeners>
            <currentbuildstatuslistener file="${logdir}/${project.name}/status.txt"/>
        </listeners>
        <bootstrappers>
            <svnbootstrapper localWorkingCopy="${checkoutdir}/${project.name}" />
        </bootstrappers>
        <modificationset quietperiod="30">
            <svn localWorkingCopy="${checkoutdir}/${project.name}"/>
        </modificationset>
        <schedule interval="300">
            <maven2 mvnscript="%M2_Home%/bin/mvn.bat"
                    pomfile="${checkoutdir}/${project.name}/pom.xml"
                    goal="clean site package"/>
        </schedule>
        <log dir="${logdir}/${project.name}">
            <merge dir="${checkoutdir}/${project.name}/target/surefire-reports"/>
        </log>
        <publishers>
            <onsuccess>
                <artifactspublisher dest="${artifactdir}/${project.name}" 
                            file="${checkoutdir}/${project.name}/target/${project.name}.jar"/>
            </onsuccess>
        </publishers>
    </project>
</cruisecontrol> 

6.运行%CruiseControl_Home%/cruisecontrol.bat,因为cruisecontrol.bat已经自带了jetty,之后进入:http://localhost:8080/即可。
分享到:
评论
2 楼 yaozhiqiang109 2010-08-02  
请问下,我配置好CC后,怎么让CC自动运行单元测试啊·
1 楼 kevin_gzhz 2008-04-15  
请问一下,你的ccworkplace是建在哪个路径下的?谢谢

相关推荐

    cruisecontrol构建持续集成和持续构建环境

    持续集成配置 持续集成环境:Maven2 + Subversion + CruiseControl CC原理 以及一些样例

    cruisecontrol+maven2配置

    标题与描述概述的知识点主要涉及了使用CruiseControl与Maven2进行持续集成的配置流程。这是一项在软件开发过程中非常关键的技术实践,它能够自动检测代码库中的更新,并自动执行构建、测试以及部署等任务,从而确保...

    Maven2使用 搭建持续集成环境

    本文将介绍如何利用 Maven2、Subversion 和 CruiseControl 搭建一个持续集成环境。 首先,我们需要创建一个 Maven2 项目。这通常包括定义项目的结构、编写 pom.xml 文件以声明项目依赖、构建目标等。完成项目创建后...

    cruisecontrol配置定时运行

    CruiseControl是一款持续集成工具,它能够自动化地构建、测试和部署软件项目,极大地提高了开发效率和产品质量。在本文中,我们将深入探讨如何配置CruiseControl以实现定时运行,确保项目始终保持最新状态。 首先,...

    [CruiseControl]binary安装和启动

    CruiseControl 是一个持续集成工具,用于自动化构建过程并提供实时反馈,帮助开发团队尽早发现问题。它支持多种构建工具如 Ant 和 Maven,并且可以与各种版本控制系统(如 CVS, Subversion 等)集成。 #### 二、...

    CruiseControl学习教程.pdf

    CruiseControl是一款持续集成工具,它能够自动化软件构建、测试和发布的过程,是开发者进行敏捷开发和持续集成的重要工具。本教程将详细讲解CruiseControl的学习与实践。 **第一章 CruiseControl实践** 1.1 Cruise...

    CruiseControl使用总结

    通过与这些工具的集成,CruiseControl能够构建一个全面的持续集成环境。 总的来说,CruiseControl 是一个强大且灵活的持续集成工具,能够帮助开发团队实现高效的自动化构建流程。正确配置和使用CruiseControl,能够...

    CruiseControl简介及使用举例

    CruiseControl是一款开源的持续集成工具,主要用于自动化软件开发过程中的构建、测试和部署等环节。它的核心理念是通过定时检查代码库的变更,一旦检测到有新的提交,就会自动触发构建过程,从而确保项目始终处于可...

    持续集成与自动化测试

    在典型的持续集成环境中,开发人员使用版本控制系统提交代码,而CI服务器如CruiseControl会监听这些提交。当检测到代码变更后,服务器会自动执行一系列步骤,包括: - 检出最新代码 - 编译代码 - 运行单元测试 - ...

    continuous integration with hudson

    Hudson是一个开源的持续集成工具,类似于CruiseControl,但更加简单易用且功能强大。它支持多种构建工具和版本控制系统,并能通过插件扩展功能。Hudson的主要特点包括: 1. **自动化构建**:能够自动检测代码仓库中...

    关于每日构建|每小时构建

    火龙果软件工程技术中心 持续集成工具:CruiseControl,俗称cc构建工具:Ant(Maven不错,但还未使用熟练)应用服务器:tomcat版本控制器:Subversion一.cc的设置首先下载CruiseControl,目前版本是2.7.1,打开目录,...

    Hudson持续集成工具-其他

    1.持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。 2.监控一些定时执行的任务。 Hudson拥有的特性包括: 1、易于安装-只要把hudson.war部署到servlet容器,不需要数据库支持。 2、易于配置-所有...

    软件开发工具2009

    6. **持续集成/持续部署(CI/CD)**:如Hudson(后来的Jenkins)和CruiseControl,它们自动化了构建和测试流程,使得频繁集成和快速反馈成为可能。 7. **文档生成工具**:Doxygen和JavaDoc可以自动生成API文档,帮助...

    个人英文简历模板resume

    - **持续集成工具**:CruiseControl、Hudson。 - **项目管理工具**:VersionOne、JIRA、Bugzilla、XPlanner、各种Wiki平台。 - **操作系统**: - **Windows系列**:NT/2000/XP/Vista。 - **Unix系列**:Solaris...

Global site tag (gtag.js) - Google Analytics