Tonfay的gravatar头像
Tonfay 2015-01-08 17:58:28

大家web项目,新版本上线,都怎么处理线上数据兼容问题?

最近发现公司的项目上线整体流程有很大的问题,一上线,就会加班熬夜到凌晨,,,那叫一个悲催,废话少说,聊聊问题

公司有一整套的项目,包含了,5 个,也就是说,每一次上线,都需要发布5个项目才可以.

现在上线的模式是把线上服务停掉,然后挨个项目 上线.

每次发新版本的项目,都发现,很多种情况,没有兼容以前的数据问题,所以上线之后,会有很多意想不到的问题出现

有些人也说了,每次上线之前,把DB down一份下来,在测试环境在测一下,没问题在上线,但是这个down DB 是很耗费时间的,一份DB ,几个G ,不可能每次测试都把数据库 整体down一份下来

大家对于这种情况,有什么样的看法,可以做到上线之前,就已经万全考虑到了 兼容数据问题?

所有回答列表(6)
沙漠鱼的gravatar头像
沙漠鱼  LV12 2015年1月9日

我们有三个环境,一个集成环境,一个测试环境,一个正式环境

开发完后做完单元测试,让需求人员在集成环境测试没,没有问题后发布到测试环境(基本和正式环境一致)

测试环境通过后 再等到下班后发布到正式环境,正式环境就不是测试了 就只能点点不报错就ok了 

珍惜moment的gravatar头像
珍惜moment  LV3 2015年1月12日

差不多和 楼上说的一致,

开发人员在开发环境进行开发,完成后部署到测试环境,由测试人员进行测试,测试通过后 部署到线上,其实我们在开发和线上还有一个模拟环境,跑的数据基本上和线上的是一致的

最代码官方的gravatar头像
最代码官方  LV167 2015年1月12日

我们这边是有3套环境的。

1.正式环境

2.测试环境

3.开发环境

3个环境是相互独立的,包括服务器,数据库,网络。

发布流程是从3=>2=>1,3是开发者自己测试,通过后发布到2测试环境,经过测试人员测试后再发布到正式环境,所以不会出现脏数据之类的问题。

狼行天下的gravatar头像
狼行天下  LV18 2015年1月12日

都是一样的

omybaby的gravatar头像
omybaby  LV1 2015年1月20日

    可以在生产环境的机房开一个UAT环境, 只允许你们办公室的内网访问 ,然后在这台机器做测试验证,验证通过后 , 把代码平推至其他五台服务器,然后重启 . 如果是Linux ,  可以写2个shell脚本来处理.一个平推文件,一个重启应用

Tonfay的gravatar头像
Tonfay  LV26 2015年1月23日

大家说的都有道理,我对于我的这个问题,过后我会选择一种解决策略,并分享到zuidaima!

 

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友