zoukankan      html  css  js  c++  java
  • SVN版本管理与大型代码上线方案(9)

    二.搭建SVN服务器

    (1)安装依赖包

       yum -y install subversion

      mkdir -p /application/svndata

      mkdir -p /application/svnpasswd

    编辑svn配置文件

    cp /application/svndata/yunjisuan/conf/authz  /application/svnpasswd/

    cp /application/svndata/yunjisuan/conf/passwd  /application/svnpasswd/

    启动服务

    passwd文件及密码设置

    authz的授权

    搭建SVN客户端(windows)

    svn客户端在linux上的使用

    钩子脚本测试

    大中小型企业上线解决方案

    小型公司代码上线方案(20台服务器以下)

    小型企业,二十台服务器内由开发人员自己来代码上线。 
    这样的优点:Web出了问题,是开发的责任,而运维只负责服务器的安全稳定,不宕机

    特点及问题

    1. 发布快,及时,随时随地就可以发布代码
    2. 开发人员发布的代码不经过测试人员,且用户访问页面刷新后页面即改变,也可能刷新瞬间程序在更新,导致无法访问,对网站用户的体验比较差,如果开发写错了代码造成的影响就更大了,这是拿用户作为测试的上线方案
    3. 网站中大概50%以上的故障是和开发程序代码有关系的。如:开发写错了一个循环代码,导致了死循环,此时大量用户访问这个程序,就能把服务器拖垮
    4. 在中兴公司网站出了问题一般是运维的责任(例如:服务器宕机),但这种情况下,问题的原因大多可能是由开发人员代码引起的,这里比较好的策略是开发项目负责制思想

    中型企业代码上线

    中型企业上线,一般是规范运维人员操作步骤,指定同一的上线操作脚本,备份文件名称,备份文件路径。使操作人性化,统一化,自动化。

    大型企业代码上线

    IDC统一分发管理器向IDC正式环境代码上线时: 
    (1)如果WEB是PHP那么就直接用ansible+rsync去推送, 
    (2)如果是tomcat那它的代码是java,那么就要用A/B代码上线的方式(因为上线完成后需要肖红新启动web服务器) 
    PHP:在上线的过程前每台Web服务器都会必须执行一个备份脚本。(如:管理服务器不是直接把数据推送到web服务器的网页目录,而是推送到web服务器的其它目录(如:/root/www),之后再把原网页目录打包,进入/root/www目录下,之后把/root/www中的数据覆盖到原网页目录)

     

     A/B分组代码上线

    例如上图 
    如果web服务器共有100台,都是tomcat,那么可以把它100台分为A组:50台,B组:50台,可以先把A组服务器从交换机上拔下来,插入到连接IDC测试的交换机上,B组来提供服务,然后通过IDC测试服务器对A组进行测试,如果没有问题那么再把它插回去,把B组的连接交换机的线拔下来连接到测试服务器。如果没有问题,再把B组的线再插回去。这样就完成了代码上线,并且不会影响用户。

     

     A/B分组上线注意的问题

    全部服务器能分成2组(A、B组),但是不能分成3组。 
    如果分成3组,那么A组上线(上线的过程中是需要去掉服务器组中的A组)完成,在上线B的过程中,A组的代码和C组的代码会不一致

  • 相关阅读:
    二叉树的前中后序遍历(非递归)
    剑指offer——圆圈中最后剩下的数字
    剑指offer——和为s的连续正整数序列
    leetcode300.最长上升子序列
    将网络描述符设置为非阻塞的场景
    leetcode72.编辑距离
    浅谈各种锁机制
    TCP如何保证可靠传输?
    JavaScript(七)
    JavaScript(六)
  • 原文地址:https://www.cnblogs.com/zhangtao11/p/10012718.html
Copyright © 2011-2022 走看看