• 【原创】使用SVN部署生产环境(已测)(欢迎指正)


    详细内容请查看本人博客 www.thinkidea.net

    欢迎高手批评指正!!!

    这是我自己在纸上画的一个关于SVN+patch+rsync部署生产环境的图:

     先看图:

    我的思路是这样的:

    1 SVN服务器是中心,它存储两个重要的东西:网站目录及文件 和 补丁包程序;

    2 测速环境中的代码均来自SVN服务器,分为两部分:网站源程序和补丁包,均通过svn checkout 获得;

    3 测速环境下,开发完成后,通过svn commint -m 提交;

    4 本地svn客户端,更新;

    5 通过本文下方“svn 补丁包生成”,生成相关补丁包;

    6 svn补丁包提交至svn服务器;

    7 代码提交服务器上 svn up 补丁包;

    8 提交至生产环境rsync覆盖 。

    ===========20120618update================

     code目录来存放网站源文件

    patch目录用来存放补丁包程序的,在这里我按照日期进行存放

    这2个目录可以在2台服务器上、可以在一台服务器的不同目录。

    这2个目录可以使用rsync 或者使用 \cp (强制覆盖)进行更新

    已测试通过

    ========================================

    貌似是有点复杂啊,呵呵。

    【想法的初衷是来自:如果网站有上万个文件的情况下,怎么解决本地提交和服务器下rsync的时间消耗】

    原本的代码提交服务器,看我  上一篇文章 

    原先这方面的架构缺点,我认为,在大批量文件上万的情况下,一方面svn更新/提交要时间;二方面rsync全目录比对也需要时间

    我修改后的这个,只维护补丁包程序,大大减少这中间的时间消耗

    且根据日期不同,补丁包可按照版本、日期等归案。

    rsync推送的也只有小批量的补丁包程序

    补丁包程序目录结构(格式参考)

    |-patch

       |——patch_0602

       |——patch_0605

       |——patch_0611

       |——patch_0614

    |-patch

        |——V1.0

        |——V1.2.2

        |——V2.0bulid

        |——V2.0stand

    类似这样的。

     关于patch的补丁包生成,他是这样的一个过程 看截图部分20120615补充

    另外,非常希望和有这方面经验的朋友,讨论学习!!!

  • 相关阅读:
    【Android】Handler的应用(二):从服务器端加载JSON数据的优化
    [置顶] IOS 开发之 CocoaPods讲解
    POJ 1068 (13.10.11)
    android使用百度地图、定位SDK实现地图和定位功能!(最新、可用+吐槽)
    C++笔记(1)
    WCF讲解
    php5 图片验证码一例
    PHP5 GD库生成图形验证码(汉字)
    mysql中limit的用法实例解析
    Limit参数优化MySQL查询的方法
  • 原文地址:https://www.cnblogs.com/wangjiafang/p/2549389.html
Copyright © 2020-2023  润新知