SVN版本管理与大型代码上线方案

Posted zhangtao11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN版本管理与大型代码上线方案相关的知识,希望对你有一定的参考价值。

二.搭建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组的代码会不一致

 







以上是关于SVN版本管理与大型代码上线方案的主要内容,如果未能解决你的问题,请参考以下文章

SVN版本管理与大型代码上线

SVN版本管理与大型代码上线

企业SVN版本管理与代码上线方案

SVN版本管理与代码上线架构方案

01.Svn版本管理与代码上线架构方案

svn版本管理与上线