传统简单保留
若是web服务器就那么几台,大体能够在测试服务器上测试好之后,直接在正式的web服务器 压缩拷贝一个,而后再覆盖下,进行简单暴力的发布。 这种纯手工发布每每会带来几个问题web
- 压缩一不当心把压缩包放到了web根目录,要是命名不注意直接好比 www.rar ,这种致命的错误让人把文件下载去那就追悔莫及了
- 出现问题要还原的时候 得把备份的从新解压 还原繁琐
- 全部操做都是没有记录的 操做行为不能跟踪
- 开发、测试、运维 流程至关混乱,何时测试完了须要靠喊话
改造优化
最新在规范上线流程的时候思考出一套比较合适的上线方案,分几步走服务器
- 开发机、一台本地测试机、 一台线上测试机、10台正式web
- 开发机和 测试机公用一个svn服务器, 线上测试机和正式机公用一个公网的svn服务器
- 写一套自动更新的脚步(在测试只要开发机已发布 直接通知测试机上服务器 执行svn update)
- 公司项目都是走产道,这个脚本直接在禅道发布管理里面操做,开发人员完成一个功能模块时候 手动点下发布(固然.net程序同步的确定是发布后的文件夹) 把开发好的代码同步到测试服务器上
- 测试组本地测试没问题时候,在产道点下发布到线上与上线环境(这个过程目前能够手动拷贝,也能够经过ftp服务器自动上传)
- 线上测试没问题之后,禅道里面点击发布到正式服务器。
大概流程以下图运维

后记问题
- 随着svn的使用正式web服务器上会多一些没必要要的文件浪费了部分硬盘空间
- 若是一旦svn服务器出现问题整个更新过程瘫痪 特别是在更新过程当中出现问题更是致命的(更新到一半忽然出问题)