`

ant+cvs实现增量部署

    博客分类:
  • JAVA
阅读更多

因为老大要求增量部署,一直没时间写,终于找点时间搞了一下:

 

思路:

各开发人员将本次需要上线的代码的全路径提到一个文本文件里,然后ant解析文本文件挨个打上线tag,最后统一取该

tag的内容打包,OK

 

其中用到了 ant 的逻辑插件antcontrib

 

ant 版本:apache-ant-1.7.1

contrib版本:ant-contrib-1.0b3

 

注意这两个版本是对应的

 

具体目录和脚本见附件

config目录用于放置本地编译需要的jar包,这些包可能不允许上传也没必要上传到CVS上;

deployfile里的addFile.txt文件为代码路径的文本文件,一次用完后手动该名为当天日期,再新建一个该文件;

temp目录下放置的是操作CVS和构造包目录的内容;

work目录下是ant的工作脚本

 

将contrib的jar放到ant里就行了

 

测试了一下110M的工程需要6分多钟,还是感觉太慢,所以一直没用。各位有没有更快的方法共享下。

 

详情见附件,ant的包太大,自己下吧,是1.7.1版本哦

 

2010-12-16日编辑该脚本对部署逻辑进行了修改:

1:获取需要增量部署的代码列表

2:先按照生产的tag取出所有代码

3:再按照增量的代码列表从CVS覆盖获取-A

4:编译构造文件路径打包

该逻辑第一次需要取全量TAG的代码,以后就只需要取增量的代码就行了,生产包确定后,执行build.xml里的tag任务将

增量的代码打上生产标签,下一个测试周期再重新取一次生产tag的全量代码,如此反复即可。

优点:减少CVS和JAVAC的时间。

本次修改后的包见附件cc_ant.rar

分享到:
评论
2 楼 雁行 2012-04-05  
svn根本就不需要这么罗嗦的实现。
版本比较,直接出增量文件,java文件转成class文件即可。
1 楼 rustlingwind 2010-10-19  
谢谢!非常有用!

不过我想知道,用svn的话,你的脚本应该变动不大吧。
还有就是,我现在用 maven,要是 maven 有直接支持的插件就好了。我想自己写maven插件的,但够呛有时间。maven里面调用ant应该没有问题,so 你的脚本应该也可以直接用在maven上了。不过我还得试试,不知道行不行啊。

相关推荐

Global site tag (gtag.js) - Google Analytics