首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > CVS SVN >

继续集成实践 - Luntbuild 扩展 - Builld Version Generated From SVN Revison

2012-08-08 
持续集成实践 --- Luntbuild 扩展 ---- Builld Version Generated From SVNRevison最近使用CI Server, 像h

持续集成实践 --- Luntbuild 扩展 ---- Builld Version Generated From SVN Revison

最近使用CI Server, 像hudson, cruisecontrol, luntbuild. 三者Luntbuild功能最全面, 当然crusecontrol,hudson也有丰富的plugin得到增强.

?

下载luntbuild1.6.2, 发现Luntbuild没有直接支持从版本管理工具中获取Revision来生成Build Version. Build Version可以使用OGNL来生成, 翻阅用户手册得知, 其OGNL的Root Object为Schedule, 决定改源码达到此功能.

?

学习了Ognl后并仔细阅读源码发现, com.luntsys.luntbuild.builders.Builder.Schedule具有sytem属性,指向OgnlHelper.决定改写此类.

?

为com.luntsys.luntbuild.utility.OgnlHelper添加方法

?

private static class SvnRevsionHolder {private String revision;private Date lastCommittedDate;public void setLastCommittedDate(Date lastCommittedDate) {this.lastCommittedDate = lastCommittedDate;}public void setRevision(String revision) {this.revision = revision;}public String toBuildVersion() {return new StringBuffer().append(revision).append("-").append(new SimpleDateFormat("yyyyMMddHHmm").format(lastCommittedDate)).toString();}}

?

编译之后把原有的class文件替换后,重启Server便大功告成.

?

?

热点排行