zoukankan      html  css  js  c++  java
  • 【原创】使用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补充

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

  • 相关阅读:
    记录一下最近面试的总结
    网络模块相关面试题
    JVM 之类加载器
    一段简单的关于字符串的 Java 代码竟考察了这么多东西
    LeetCode 链表题 ( Java )
    MD5 加盐加密
    SpringMVC 学习笔记
    [redis]dict和rehash
    [redis]SDS和链表
    [go]包和工程管理
  • 原文地址:https://www.cnblogs.com/wangjiafang/p/2549389.html
Copyright © 2011-2022 走看看