借助svn进行半自动多台服务器上线部署

 传统简单保留

  如果web服务器就那么几台,大致可以在测试服务器上测试好以后,直接在正式的web服务器 压缩拷贝一个,然后再覆盖下,进行简单暴力的发布。 这种纯手工发布往往会带来几个问题

  • 压缩一不小心把压缩包放到了web根目录,要是命名不注意直接比如 www.rar ,这种致命的错误让人把文件下载去那就追悔莫及了
  • 出现问题要还原的时候 得把备份的重新解压 还原繁琐
  • 所有操作都是没有记录的 操作行为不能跟踪
  • 开发、测试、运维 流程相当混乱,什么时候测试完了需要靠喊话

 改造优化 

    最新在规范上线流程的时候思考出一套比较合适的上线方案,分几步走

  1.   开发机、一台本地测试机、 一台线上测试机、10台正式web
  2. 开发机和 测试机公用一个svn服务器, 线上测试机和正式机公用一个公网的svn服务器
  3. 写一套自动更新的脚步(在测试只要开发机已发布 直接通知测试机上服务器 执行svn update)
  4. 公司项目都是走产道,这个脚本直接在禅道发布管理里面操作,开发人员完成一个功能模块时候 手动点下发布(当然.net程序同步的肯定是发布后的文件夹) 把开发好的代码同步到测试服务器上
  5. 测试组本地测试没问题时候,在产道点下发布到线上与上线环境(这个过程目前可以手动拷贝,也可以通过ftp服务器自动上传)
  6. 线上测试没问题以后,禅道里面点击发布到正式服务器。

      大概流程如下图

   

     后记问题

  1. 随着svn的使用正式web服务器上会多一些不必要的文件浪费了部分硬盘空间
  2. 如果一旦svn服务器出现问题整个更新过程瘫痪 特别是在更新过程中出现问题更是致命的(更新到一半突然出问题)
posted @ 2016-08-25 11:04  EchoSong  阅读(1300)  评论(0编辑  收藏  举报