centos svn服务端的部署和同步web端

一.SVN简介


       SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。        

二.安装SVN

1.安装SVN

       yum  -y  install  subversion

2.查看安装内容与位置 

    rpm -ql subversion

3.建立SVN根目录 

   mkdir  /home/svn

4.新建版本库:TestCode 

   svnadmin create /home/svn/ TestCode

     注:执行完后,/data/svn/TestCode目录下文件说明

README.txt   版本库的说明文件
conf              配置文件件夹(后续操作最多的文件夹)
db                SVN数据文件文件夹
format          当前版本库的版本号
hooks           SVN的钩子脚本文件夹
locks            SVN的文件锁相关的文件夹

4.TestCode库添加用户、分配权限 

    A.配置SVN
     vim /home/svn/ TestCode /conf/svnserve.conf

     anon-access=none     #去除文件前的注释,将read改为none,防止匿名访问
     auth-access=write    #去除文件前的注释
     password-db=passwd   #去除文件前的注释
     authz-db = authz     #去除文件前的注释,访问权限配置,非常重要,不打开,分组权限不生效

           注:上面的内容要顶格否则会报错


   B.添加访问TestCode用户

    vim /home/svn/TestCode/conf/passwd

    添加一行

    yang = yang


  C.设置添加的用户权限

    vim /home/svn/TestCode/conf/authz

    添加

    [/]

    yang = rw

    * =


  D.防火墙开放SVN端口通行

      vi /etc/sysconfig/iptables

      -A INPUT -p tcp -m tcp --dport 3690 -j ACCEPT

     重启防火墙使其生效


  E.开启SVN服务

    svnserve -d -r /home/svn

三.SVN仓库同步web根目录

      前置条件

           打开仓库和web根目录的读写权限


    开始配置

          cd /home/svn/TestCode/hooks

    cp post-commit.tmpl post-commit
    
    #!/bin/sh
    export LANG=zh_CN.UTF-8
    /usr/bin/svn update --username yang --password yang /home/wwwroot/TestCode --force --no-auth-cache
    
    注:上线的TestCode就是仓库的名字下面check的时候会自动创建不需过问

    修改文件的可执行权限
    chmod 755 post-commit

	
    初次同步需要先check一下
    svn checkout svn://{您的服务器地址}:{端口号}/test .    //词条要注意两点,一后面要加上空格和一个点,二这个命令是在网站更目录里面同步的



猜你喜欢

转载自blog.csdn.net/fenqing666/article/details/78005429