因为老大要求增量部署,一直没时间写,终于找点时间搞了一下:
思路:
各开发人员将本次需要上线的代码的全路径提到一个文本文件里,然后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