大家讲道理-06-17 09:19:111楼
实际经验:
我经手过的项目都是在weblogic上以目录的形式发布,目录结构:
DOMAINS --域
└─domainA --域A
└─apps --应用
└─app1 --应用1
├─deploy --部署
│ ├─src --Java源代码(仅限项目实施开发的源代码,不包含应用库的源代码),服务器统一编译一次防止Java版本问题以及编码问题
│ └─war --标准war包结构
├─patch --增量更新目录
├─runtime --运行时目录,日志,用户文件之类的
└─tmp --临时目录
我按照这种标准结构写了若干shell脚本来运维任务自动化,就是启停,监控,更新什么的,其实也就花了几天时间,代码也不多,但是现在我再也没有手动干过运维的事情了。
基本流程就是:代码开发提交-->SVN导出增量更新包-->上传至服务器-->服务器上执行
改一个html页面都要重新打包,万一打错文件进去咋办? 静态的可以单独发布,那我他妈就改一个JAVA也要重新打包就活该啦?
没有一个容器是真正在war包里面发布和服务应用的,都是解压到某个临时位置,war包是压缩格式,你让任何一个容器每服务一个请求都去读取压缩文件里面的资源肯定会有性能问题的(至少JSP都是这样)。
这是我的个人经手的一些小型项目的解决方案,大型项目,你可能需要全流程工具链,就是什么持续集成什么的。