部署应用怎样保证不出错?

2016-02-26 00:05:43 +08:00
 honmaple
如果更改了代码,比如数据库需要增加几个字段, redis 的 key 由 hset 成了 set ,需要启动或安装某些服务和模块等,这时应该怎么做(顺序是怎样的),总不能关掉应用吧,如果正在运行的应用与刚设置的服务有冲突怎么办?

话说大家是怎么重新部署的,我是设置好需要的服务和数据,备份好原代码,简单粗暴的直接上传覆盖到原文件夹,然后重启应用(所以经常出错)
1643 次点击
所在节点    问与答
14 条回复
O21
2016-02-26 00:18:20 +08:00
反正先备份肯定没错。
maskerTUI
2016-02-26 00:39:49 +08:00
备份——模拟测试——生产环境更改
codevn
2016-02-26 00:55:13 +08:00
脑子抽风起来,怎么也挡不住。。。
ericls
2016-02-26 02:34:22 +08:00
tdd 加 ci
x86
2016-02-26 04:23:25 +08:00
部署的时候
just4test
2016-02-26 08:27:58 +08:00
新应用跑起来 流量导过去 关掉旧应用。
生产级环境像改 key 这种事儿就不该干。
caixiexin
2016-02-26 08:42:09 +08:00
需要持续集成工具如 Jenkins ,配合版本管理如 svn
尽量避免手改生产环境,刚开始可能比较麻烦,要写部署脚本,但后续工作就轻松多了
imyip
2016-02-26 09:07:50 +08:00
祈求神灵保佑
honmaple
2016-02-26 10:43:19 +08:00
@maskerTUI 模拟测试是怎样的,用虚拟机?
honmaple
2016-02-26 10:43:59 +08:00
@x86 这太夸张了吧
honmaple
2016-02-26 10:47:09 +08:00
@just4test 昨天我就顺手改了一个 key ,结果一下午的 500,还好是我的个人网站
honmaple
2016-02-26 10:49:03 +08:00
@caixiexin thx ,我去搜搜看,以前没接触过
julyclyde
2016-02-26 13:46:27 +08:00
先改为 try 新的 except 旧的
然后改数据库结构
然后再改为只执行新的
543400
2016-02-26 14:01:33 +08:00
有强迫症的程序员一般不会出错的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/259171

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX