1.整个由二期代码完成,到发布到正式服务器的流程应该是怎样的?2.是否都需要停止现在的网站?是的话,请问技术上怎么操作比较规范3.如果在测试服务器上都测试过没问题,怎么更新到正式服务器比较保证最少差错?
如果是大的更新,建议版本迭代。如果更新比较小直接上传也是没什么的。(个人意见)
测试服务器跟线上服务器也不一定就完全一致,所以还是弄一个测试域名比较安全,如果没问题那就重命名文件夹?该 web 配置?反正改版又不是家常便饭,服务器多那就写个 shell 脚本也行,
通过git diff 进行增量发布
假如有十台服务器。先把其中五台下线,把新代码发布到这五台上面。测试没问题,这五台重新上线。把另外五台下线,发布代码到这五台服务器上面,测试成功后上线。
首要条件内网测试服务器(一般虚拟机代替)外网二级域名测试服务器(低配置服务器只在测试时开放解析)以上两台服务器尽力模拟生产环境服务器配置
开发阶段内网测试发布前进行外网域名测试 在这里尽量保证除数据不同以外其他都尽量相同 包括静态文件 cdn 表结构 等等运行你需要更新的sql语句测试完成后发布生产环境流程一样.
这里建议上线最好开发一个上线系统 通过系统来更新代码减少出错几率(sql还是要手动执行)好处是可以一键回滚不耽误线上环境运行.而且可以记录操作日志
试一下类似walle这样的代码部署工具,用git管理代码,如果出问题的话也能及时回滚
不要怂,就是干
肯定用git啊,git pull一下就更新了,賊方便。
如果业务有消息队列,最好提前关闭网站防止新消息进入,然后等消息队列任务处理完再部署代码和开启网站。
git pull