zoukankan      html  css  js  c++  java
  • 借助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服务器出现问题整个更新过程瘫痪 特别是在更新过程中出现问题更是致命的(更新到一半突然出问题)
  • 相关阅读:
    QQ 2006 正式版协议变动情况分析
    开源3D方面的软件
    要使silverlight能够在IIS中顺利运行,需要设置的东西.
    文本框回车自动提交
    No installed Service named "Apache2"
    Javascript:三个函数ceil()、floor()、round()的区别
    基于Apache的Svn服务器配置
    下载:HD AUDIO For XP SP3修正补丁
    ViewState在执行Refresh后丢失
    C#关闭应用程序时如何关闭子线程
  • 原文地址:https://www.cnblogs.com/echosong/p/5805965.html
Copyright © 2011-2022 走看看