以下是JAVA架构环境的代码上线流程,请参考
1、本地开发人员从SVN中取代码,当天上线的提交到trunk,否则,长期项目单开分支开发,然后合并主线(trunk)
2、办公内网开发测试时,由开发人员或配置管理员通过部署平台Jenkins实现统一部署,(即在部署平台上控制开发机器从svn取代码,编译,打包,发布到开发机,包名如idc_dep.war)
3、开发人员通知或和测试人员一起测试程序,没有问题后,打上新的tag标记
4、配置管理员,根据上步的tag标记,checkout出上线代码,并配置好IDC测试环境的所有配置,执行编译,打包(mvn,ant)php不需要,然后发布到IDC内的统一分发服务器,,这里要注意,不同环境的配置文件是随代码同时发布的。
5、配置管理员或SA上线人员,把分发的程序代码内容推送到相关的测试服务器包名如(idc_dep.war),然后通知开发及测试人员进行测试,如果有问题向上回退,继续修改。
6、如果测试没有问题,继续打好tag标记,此时配置管理员,根据上步的tag标记,checkout出测试代码,并配置好IDC正式环境的所有配置,执行编译,打包(MVN,ant),然后发布到IDC内的统一分发服务器主机,准备批量发布。
7、配置管理员或SA上线人员,把分发的内容推送到相关正式服务器(包名如idc_product.war),然后通知开发及测试人员进行测试,如果有问题直接发布回滚指令IDC正式上线的过程对于JAVA程序,可以使AB组分组上线的思路,即平滑下线一半的服务器,然后发布更新代码,重启然后测试,无问题后,挂上更新的服务器,同时在平滑下线另一半服务器,然后发布更新的代码测试(或者直接发布后挂上线)。
特别说明:
对于Java上线方法,较大公司需要分组平滑上线,例如,首先从负载均衡器上摘掉一半的服务器,发布代码后,重启服务器测试,没问题后,挂上上好线的一半,再下另外一半,如果前端有DNS智能解析,上线还可以分地区上线若干服务器,逐渐普及到全国的服务器,这个被称为灰度发布,门户网站上线有提及。