持续集成
剥离CruiseControl dashboard控制台到Debian安装的tomcat6上
1月23日
在前篇日志 如何剥离CruiseControl内置的Web控制台 中,我已经介绍过怎么剥离CruiseControl内置的控制台dashboard到tomcat6容器中。但那篇日志中介绍的是用下载压缩包方式安装的tomcat6,在这我向大家介绍一下如何用Debian包安装的tomcat6部署dashbaord控制台。
为什么这两种安装tomcat6的方法会给web部署带来异同呢?
Dashboard不能运行在Debian包安装的Tomcat6上?
1月23日
前面的一篇日志中我已经介绍了如何把CruiseControl的dashboard Web控制台剥离到tomcat6上。但那时介绍剥离时用的是下载tomcat6压缩包然后解压的tomcat6,并没有Debian 自己提供的tomcat6安装包。或许你会问怎么不直接用Debian提供软件包安装呢?其实不是我不想,只是我实验过用
sudo aptitude install tomcat6
直接安装tomcat6,但是无论如何就是不能成功部署dashboard。 
最终只能委曲求全,“另辟蹊径”了。
但今天同事也遇到这样的问题了,看来是时候解决这个问题了。
CruiseControl HgVersionParser: no match of
1月22日
使用开源CruiseControl的时候,SCM工具是Mercurial(hg)。CC在收集hg库的修改集合信息的时候,解析hg的version总是出错。这个问题困扰我很长时间,昨天终于解决了。
如何剥离CruiseControl内置的Web控制台
1月14日
背景介绍
出于各自不同的考虑:
- 启用 Apache Tomcat 内置的 Java EE 安全性管理机制,以加强这些 Web 控制台的管理
- 采用比 Jettery (cc内置的Web容器) 更强大的 Web 容器,使得 CruiseControl 构建循环不会受到 Web 控制台用户的影响。因为默认情况下,CruiseControl构建循环与宿主 Web 控制台的 Jetty 处于同一进程中。
CI集成人员需要将CruiseControl内置的两个Web控制台( http://localhost:8080/cruisecontrol/ 和 http://localhost:8080/dashboard/ ) 剥离出来,并运行在其他 Java EE 容器中,比如 Tomcat等。
移植Web 控制台到 Apache Tomcat 6.0.20 的步骤
如果你想用Debian 安装的tomcat6部署dashboard,请参照 剥离CruiseControl dashboard控制台到Debian安装的tomcat6上
velocity 未列入文档的秘密
1月13日
Velocity小技巧
今天,在Velocity模板对i18n字符串进行处理,需要转换小写和将空格替换为下划线。一般情况下,从java代码中通过Context传递是最简单的,但是有的情况,不现实。在CC的模板中,就有这样的情况
下面是一个在模板中实现字符串转换的具体例子:
CruiseControl—下载及安装
1月7日
- 最新稳定版本cruisecontrol-bin-2.8.2.zip , http://cruisecontrol.sourceforge.net/download.html
- 解压刚下载的压缩包: $ unzip cruisecontrol-bin-2.8.2.zip
- 输入 $ echo $JAVA_HOME 查看是否设置好环境变量
- 启动CruiseControl,进入解压目录下,运行: $ . /cruisecontrol.sh
- 在浏览器输入: localhost:8080/dashboard
CruiseControl 目录结构
- cruisecontrol.sh 启动文件;
- config.xml 配置文件 (默认的配置文件名称);
- apache-ant-1.7.0 是CruiseControl自带的ant环境,CruiseControl要借助ant完成一些指定的任务;
- docs 包括CruiseControl的使用文档和一个helloworld的使用范例;
- lib 是运行需要的jar包;
- logs 日志目录,构建时产生的log存储于此;
- projects 需要构建的项目所在目录,所有的构建项目在project均以项目名为目录(示例项目 connectfour)。
- webapps web应用目录。CruiseControl内置了jetty作为web容器,可以通过http://localhost:8080/dashboard
- artifacts 输出目录,集成后生成的jar就保存在这里
CruiseControl —初体验
1月7日
CruiseControl:简称CC,持续集成工具,主要提供了基于版本管理工具(如Git)感知变化或每天定时的持续集成,并提供持续集成报告、Email等等方式通知相关负责人,其要求是需要进行日构建的项目已编写好全自动的项目编译脚本(可基于Rake或Ant)
CruiseControl 有三个模块构成 :
- 构建循环(Build Loop) :CC 的核心,负责触发构建周期,并通知构建结果
- 老版本Web控制台(/cruiscontrol)
- 新一代Web控制台(/dashboard) :用于取代老版本的cruisecontrol控制台

最新评论