某君写了N(N>250)行的ant脚本,从CVS CHECKOUT代码到清除、新建目录;从
打包成JAR再到WAR;再自动调用deploy脚本发布EAR到服务器上,或者手动发布到服
务器上。或许还会发一份打包发布完毕的邮件通知。
貌似如此打包发布看省心省事,实际呢?
此君开始发布,首先修改脚本,保证所有PROJECT都在脚本编译范围内。一运行这
个ANT脚本,就开始看着屏幕刷刷的刷屏,编译过程中发现编译错误,首先去排除脚本
问题,再去打开IDE,同步代码,然后去找到这个错误类,再查看此类提交历史,查到
该类的提交人后让其重新修改或者提交未提交的代码。如此把所有编译错误的类一个个
通知到类上传者。然后此君继续跑脚本,拉代码,编译,直到最终打包成EAR。
此君终于长呼一口气,执行一下deploy脚本终于发布完成。但是测试人员打开网页
到达登录界面,发现怎么也登陆不到应用系统。原来测试数据库移了位,旧库又没建过
测试人员帐号。
此君只好登录WAS控制台,去重新建数据库连接到正确数据库。此时此君已经已花了
3个小时,不想再用啥发布脚本了,直接停了应用,再重部署EAR到WAS上。
其实可以专门建一个为发布而使用的IDE WORKSPACE,首次从CVS上拉下代码后,建立
好所有PRJECT依赖关系,一眼就能看到不能编译的类,让上传者重新修正或者上传遗漏
的代码,然后使用IDE Export EAR功能导出到EAR,然后可以deploy脚本或者手动发布到
WAS服务器上。这种方式至少你不用等JAVAC一个一个编译JAVA类,要是要编译的类多,
这种方式优势越明显。下次发布新版本,直接同步下代码,拉下来所有SRC即可打包了。
不过不得不同意有时候让自动工具深更半夜工作、第二天过来就可以直接在新版本
的应用上跑了,挺好。
但是让一个开发人员专门伺候着自动发布,真是浪费劳力又起不到自动发布的初衷。
2008年3月29日晚 于芜湖七星快捷酒店406室
阅读(655) | 评论(0) | 转发(0) |