由于业务发展原因,之前开发的系统已经满足不了现在的业务需求了,所以后续对系统的二次开发会比较频繁;
但是这里就会涉及到一个问题:系统是用java写的,所以每次上线之前都会先把文件编译后,然后在生产线把相应的class文件会先备份后,然后覆盖。我想问的是,目前这个上线操作在市场上有没有比较成熟一点的更新方法,或者有其他的辅助工具?背景描述:
由于现在我们有几个人专门对那个系统进行二次开发,也有比较规范的通过那个CVS来进行版本控制。可这样做的话,需求上线之后,系统有时候还会出现问题。因为每个人负责的需求可能不一样,比如A需求已经处理完毕,B需求还在测试阶段,但是A需求急着要上线,这时就会将B需求的相关源码也更新上去,但是B需求就会更新不完全,这样就造成生产源码管理不规范,系统出现问题的频率会比较高!目前的想法就是:想在上线这个步骤上,做一个紧急的回退机制。万一系统出现问题之后,但是问题暂时找不出来的情况下,可以尽快回退到之前的版本,而不影响业务的进行!
所以请有经验的相关人士,提供一下你们的上线步骤,或者有什么比较好的更新工具或办法?
但是这里就会涉及到一个问题:系统是用java写的,所以每次上线之前都会先把文件编译后,然后在生产线把相应的class文件会先备份后,然后覆盖。我想问的是,目前这个上线操作在市场上有没有比较成熟一点的更新方法,或者有其他的辅助工具?背景描述:
由于现在我们有几个人专门对那个系统进行二次开发,也有比较规范的通过那个CVS来进行版本控制。可这样做的话,需求上线之后,系统有时候还会出现问题。因为每个人负责的需求可能不一样,比如A需求已经处理完毕,B需求还在测试阶段,但是A需求急着要上线,这时就会将B需求的相关源码也更新上去,但是B需求就会更新不完全,这样就造成生产源码管理不规范,系统出现问题的频率会比较高!目前的想法就是:想在上线这个步骤上,做一个紧急的回退机制。万一系统出现问题之后,但是问题暂时找不出来的情况下,可以尽快回退到之前的版本,而不影响业务的进行!
所以请有经验的相关人士,提供一下你们的上线步骤,或者有什么比较好的更新工具或办法?
解决方案 »
- 希望各位帮我看下这问题,看似小问题,但暂时找不到解决的方法,希望各位帮我看一下,谢谢了
- 求助response.setHeader的问题,大家快帮帮我,谢谢
- 如何在JSP里面放置播放各种后缀的音乐或者是视频文件( 急 ,在线等!)
- 十万火急,求助JSF文件上传与下载完全代码,回答者有奖励
- js控制div的问题,我的号码已经没有分啦,大家帮帮忙啊!
- 在一个页面既能实现向数据库中写入数据,又能修改数据库中的数据,该怎么操作啊?(请帮我!谢谢)
- 我昨天仔细地将JSP2.0的规范看了看。。。太有感触了
- prepareStatement问题?
- 如何替换“文件没找到”的那个出错页面?
- 请问做servlet有什么好的参考书吗?
- 求本java web的开发案例书,想比着做项目~~~
- chechbox问题求助大神
但是每次把文件给系统运维部门更新,他们在更新的时候,如果是覆盖文件的话,会备份一份。
出了问题就把备份的恢复过来。
比如Version 1.2.1和1.3.0两个版本是同时开发的,每个版本都是继承至1.2.0。版本发布生产线后,ClearCase将上线版本归并到继承流
int
- fint 1.2.0
- dev1.2.0
- fint 1.2.1
- dev1.2.1
- fint 1.3.0
- dev1.3.0
其中int流是生产的,fint流是上staging(测试环境,也叫sandbox),dev是开发用的。每次开发移交staging环境就会把修改的文件归并到fint流。测试完后将fint版本流归并到int流。
如上:fint1.3.0上线后会将fint1.3.0和int流进行比对归并(自动),如有冲突的地方由开发人员识别手工归并。至于项目发布。我们采取:
1.发布应用程序版本,发布ear包
2.发布数据库版本,发布SQL脚本
3.修改配置文件,由部署人员根据部署说明项手工添加。
4.特殊部署(对于非正规系统的部署由部署人员手工执行)
以上1的应用包由编译平台脚本通过ant自动编译打包,并交付给部署人员,部署人员通过脚本命令进行部署
2通过脚本自动执行脚本内容
3.手工执行
系统未能正常上线需进行回滚,并通知开发部门领导,开发人员,运营人员,版本经理,部署部门领导,测试人员,测试领导1.常规系统版本回滚,取上个版本的ear包,重启服务即可
2.配置文件的回滚,按照部署说明的内容进行回退,或者按照回滚章节的步骤进行回滚
3.数据库脚本回滚,数据库脚本上线,涉及到dml的脚本需要评估数据量,执行时间,并提供回滚脚本,验证方案。按照提供的回滚脚本进行回滚。
4.环境的回滚,按照部署说明提供的方案进行回滚。