CruiseControl配置详解
一、简介
CruiseControl(以下简称CC)是一个java开源项目,通过Build Loop,完成多个项目的自动构建,官方流程如下:
二、配置
1.将下载好的cruisecontrol-bin-2.8.4.zip解压后,目录结构如下图所示:
2.从官方结构图上可以看出,要让CC自动管理起你的项目,需要2样东西,项目源代码以及config.xml
a.由于CC不支持第一次的项目检出,所以你需要手动地将项目检出到它指定的目录下:projects
假定从SVN检出的项目名称为Test,则projects目录下就应该有个Test的项目存在,并且是受SVN管控的
b.Test目录下必须存在一个pom.xml文件,从而让Maven来管控项目构建,之后会说
c.项目放在对应位置后,接下来就是要配置config.xml文件让CC知道,这也是最重要的部分,配置标签可以参考官doc:http://cruisecontrol.sourceforge.net/main/configxml.html
d:一般配置后的config.xml文件结构如下图所示
<cruisecontrol><project name="Test" buildafterfailed="false"> --name和你在projects目录下的项目名必须完全一致。<listeners> --监听项目的实时状态,如Buliding等<currentbuildstatuslistener file="logs/${project.name}/status.txt" /> </listeners><bootstrappers> --告诉CC从SVN更新代码<svnbootstrapper localWorkingCopy="projects/${project.name}/"username="admin" password="admin@" /></bootstrappers> --监听30秒内项目是否在SVN中有变化。<modificationset quietperiod="30"><svn localWorkingCopy="projects/${project.name}/" username="admin" password="admin" useLocalRevision="true" /></modificationset><schedule interval="300"> --每隔300秒,CC就会去检查并执行构建计划<maven2 mvnscript="D:/apache-maven-2.2.1/bin/mvn.bat" pomfile="projects/${project.name}/pom.xml" goal="clean integration-test" /></schedule><log> --合并编译时产生的测试日志<merge dir="projects/${project.name}/target/surefire-reports" /></log><publishers><onsuccess> --成功后将war包发布到指定位置<artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/target/Test.war" /></onsuccess><htmlemail mailhost="10.106.3.1" returnaddress="test@qq.com"<span style="white-space:pre"> --发邮件通知相关人defaultsuffix=""buildresultsurl="http://localhost:8090/cruisecontrol/buildresults/${project.name}"charset="UTF-8" skipusers="true"><always address="yourMail" /></htmlemail></publishers></project>
</cruisecontrol>
配置 标签官网都有解释,唯一需要注意的就是,因为这里是整合Maven来发布项目,所以这里用的是Maven的指令计划
<schedule interval="30000"><maven2 mvnscript="D:/apache-maven-2.2.1/bin/mvn.bat" pomfile="projects/${project.name}/pom.xml" goal="clean integration-test" />
</schedule>
需要 配置Maven的安装路径,并且通过maven2标签命令解析pom.xml文件执行相关命令
此时,在浏览器中访问http://localhost:8080/dashboard,就可以看到以下页面
绿色表示项目Build成功,红色相反,当然还有其他图标的状态表示,具体参见官网,当点击绿色图标后,就会转,但是由于没有配置Maven,所以CC也只能将War包发布到指定路径,还不能发布到Tomcat上,接下去,只要配置Maven,就可以将他们关联起来
CruiseControl配置详解相关推荐
- elasticsearch-.yml(中文配置详解)
此elasticsearch-.yml配置文件,是在$ES_HOME/config/下 elasticsearch-.yml(中文配置详解) # ======================== El ...
- (ASA) Cisco Web ××× 配置详解 [三部曲之一]
(ASA) Cisco Web ××× 配置详解 [三部曲之一] 注意:本文仅对Web×××特性和配置作介绍,不包含SSL ×××配置,SSL ×××配置将在本版的后续文章中进行介绍. 首先,先来 ...
- mybatis 同名方法_MyBatis(四):xml配置详解
目录 1.我们将 数据库的配置语句写在 db.properties 文件中 2.在 mybatis-configuration.xml 中加载db.properties文件并读取 通过源码我们可以分析 ...
- logback节点配置详解
logback节点配置详解 一:根节点 <configuration></configuration> 属性 : debug : 默认为false ,设置为true时,将打印出 ...
- PM配置详解之一:企业结构
1.维护计划工厂 功能说明 在公司结构中定义维护工厂(通常已经作为后勤工厂存在)和维护计划工厂(简称计划工厂). 维护工厂:设备所安装的位置,如某机组安装在合营公司,那么合营公司就是此机组的维护工厂, ...
- 转 Log4j.properties配置详解
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- Iptables防火墙配置详解
iptables防火墙配置详解 iptables简介 iptables是基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表. (1)filter表负责过滤数 ...
- spring之旅第四篇-注解配置详解
spring之旅第四篇-注解配置详解 一.引言 最近因为找工作,导致很长时间没有更新,找工作的时候你会明白浪费的时间后面都是要还的,现在的每一点努力,将来也会给你回报的,但行好事,莫问前程!努力总不会 ...
- php-fpm 启动参数及重要配置详解
2019独角兽企业重金招聘Python工程师标准>>> php-fpm 启动参数及重要配置详解 约定几个目录 /usr/local/php/sbin/php-fpm /usr/loc ...
- Maven settings.xml配置详解
首先:Maven中央仓库的搜索全部公共jar包的地址是,http://search.maven.org/ ===Maven基础-默认中央仓库============================== ...
最新文章
- 从京东裸辞 2 年后,我的一些改变
- python【蓝桥杯vip练习题库】BASIC-11 十六进制转十进制
- wgrib读grib数据
- 成功解决AttributeError: module ‘dask.array.numpy_compat‘ has no attribute ‘take_along_axis‘
- SpringBoot快速集成kafka
- Jumping Monkey 并查集,反向思维
- android程序更改pdf文件格式,Android根据pdf模板生成pdf文件
- C++中宏与内联函数
- 简化业务代码开发:看Lambda表达式如何将代码封装为数据
- Nginx (1)---安装配置
- 创建寄宿在Windows服务中的WCF服务
- 硬件超车无法掩盖生态缺失,软实力构建任重而道远 | 中科曙光高性能计算专访...
- 利用CentOS的yum更新源来实现RHEL5的YUM功能
- spring全家桶的技术体系介绍
- 网卡扫盲一:网卡初步认识
- 科大讯飞麦克风阵列AIUI开放平台基本操作初级
- VmBox下安装linux CentOS-7资料
- 微信小程序开发2.框架-视图层-WXS
- 【拓扑学知识】3.乘积空间与拓扑基
- C 语言 随机prim算法 生成迷宫