1.整个由二期代码完成,到发布到正式服务器的流程应该是怎样的?
2.是否都需要停止现在的网站?是的话,请问技术上怎么操作比较规范
3.如果在测试服务器上都测试过没问题,怎么更新到正式服务器比较保证最少差错?
1.整个由二期代码完成,到发布到正式服务器的流程应该是怎样的?
2.是否都需要停止现在的网站?是的话,请问技术上怎么操作比较规范
3.如果在测试服务器上都测试过没问题,怎么更新到正式服务器比较保证最少差错?
测试服务器跟线上服务器也不一定就完全一致,所以还是弄一个测试域名比较安全,
如果没问题那就重命名文件夹?该 web 配置?反正改版又不是家常便饭,
服务器多那就写个 shell 脚本也行,
前提,在保证在开发环境下测试通过后再进行以下步骤。
一、将网站普通用户访问定向到一个“维护中”的通知页面上,但允许开发者的IP访问正常页面以供测试。
二、如新版中存在较多数据结构变动,则必做数据库备份
三、更新代码。
四、测试问题,实际解决。如果问题与开发环境差别不大,系统表现没有异常,则恢复正常访问,升级成功。如果在生产环境发现问题不能当时解决且影响巨大,则迅速恢复数据库,回滚代码,恢复访问,升级失败。然后开发环境中复现该问题解决后再行重复以上过程。
首要条件
内网测试服务器(一般虚拟机代替)
外网二级域名测试服务器(低配置服务器只在测试时开放解析)
以上两台服务器尽力模拟生产环境服务器配置
开发阶段内网测试
发布前进行外网域名测试
在这里尽量保证除数据不同以外其他都尽量相同 包括静态文件 cdn 表结构 等等
运行你需要更新的sql语句
测试完成后发布生产环境
流程一样.
这里建议上线最好开发一个上线系统 通过系统来更新代码减少出错几率(sql还是要手动执行)
好处是可以一键回滚不耽误线上环境运行.而且可以记录操作日志
必要前提:一个线上测试版本,一个线上正式版本(个人项目另说)
二期开发的代码假定都是在本地进行完整的测试通过有的,那么先把线上代码进行 冻结 操作,然后把二期代码 push 到 线上测试版本 进行测试(服务器的环境和本地一定会有不同,这一步骤是必要的),测试通过以后在更新到 线上正式版本
7 回答5.3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
5 回答2.8k 阅读
1 回答4k 阅读✓ 已解决
假如有十台服务器。
先把其中五台下线,把新代码发布到这五台上面。测试没问题,这五台重新上线。
把另外五台下线,发布代码到这五台服务器上面,测试成功后上线。