A-A+

上线那些事

2015年02月12日 杂文 暂无评论 阅读 2,077 次

近两个月经历了两次上线,第一次在银行,第二次在客户现场,真是两眼通红,疲惫不堪。话说,虽然经历过多次上线,在见到生产环境的时候,依然不由自主的肝颤,准备的再充分,也会有意外发生。

刚工作那阵,小打小闹,也没经历过什么正经的上线,无非就是开着共享把整个文件夹一拷,然后看着打开站点看一眼是否成功,成功万事大吉,如果报个黄页就在继续调,轻松无压力。

后来干起了外包,上线就稍微折腾的大了点,先提版本给测试,测的没有问题后就将改动过的文件覆盖过去,如果还包括数据库,则需要批处理执行SQL,当然这一切都得在客户下班的时间做,所以上线就开始等于加班。

再后来,越来越倾向于服务,自然而然的上线就提上了日程,最痛苦的一次莫过于某个系统的二期上线,本来技术架构就复杂无比,服务器也显得庞杂,还要导数据,利用周六日客户休假开始工作,结果36个小时没闭眼,才在下一个周一的七点成功切换。从此就走上了不归路,一次又一次的上线,搞的精神紧张,每次都冷汗直流,实在需要个大心脏。

上线这玩意,说起来容易,真要操作起来最麻烦:

首先,心态要保持谨慎,比如处理数据的时候,一般SQL删除就直接“delete from table where id = #”,可是在生产环境上最好先select一把,确认这些数据是你想删的,然后再delete,处处保持这种做法,虽然繁琐,但是至少可以减少事故的发生,所以一定要谨慎。

第二,我们需要备份,越完整的越好,有时候我恨不得所有的服务器都做个快照,然后再上线。备份了,心里才有底啊,不然真有欲哭无泪的时候。况且,这可以让你之后的工作不至于那么的心惊胆战。

第三,你真的需要一个好的测试环境,如果这个测试环境和生产环境一模一样,那么,我真的要恭喜你,你的上线之路会走的相当平坦。但是似乎国内对于测试真的不是那么看重,更别提什么测试环境了,测试环境也是一堆垃圾数据,你确定你能覆盖所有的情况?

第四,上线是真的需要规划的一件事情,不是说说而已。比如,你需要一份文档,最好经过项目组成员集体讨论过,这份文档最好包含被上线版本的所有改动、上线的步骤、有可能发生的意外情况、如何解决意外、如何回滚,如果有了这么一份文档,即使上线失败,也不至于产生事故,在关键时刻能够救人一命。又或者如果你上线一个大版本,我建议最好能够进行模拟上线,走个两三次,让整个团队的成员熟悉情况,同时提前规避一些风险。

第五,最好有个有经验的人。你要跟我说,你这个团队从头到脚都是新的,那我只能祝福你了,有些问题真的只有经历过才会处理,新兵蛋子有时候必须经过失败才能成长。

第六,上线真的需要运气,真的。

标签:

给我留言

Copyright © 字痕随行 保留所有权利.   Theme  Ality

用户登录

分享到: