优选主流主机商
任何主机均需规范使用

CentOS 6.9环境SVN服务器快速安装与配置详细教程

本文实例为大家分享了CentOS6.9快速安装配置svn的具体代码,供大家参考,具体内容如下

环境介绍:

操作系统:CentOS release 6.9 (Final)
192.168.65.130 (svn服务器)
192.168.65.129 (svn客户端)

一、svn安装检查(在两台上都执行)

1 2 3 4 5 if [ ! -f /usr/bin/svn ]; then   yum -y install subversion > /dev/null   echo "svn has been installed." > /dev/null   /usr/bin/svn --version| head -1| awk -F " " '{print $3}' fi

二、创建版本库文件夹(仅在130上操作)

1 2 3 4 mkdir -p /data/svn/sinsvn #创建版本库 svnadmin create /data/svn/sinsvn mkdir -p /data/www/sinsvn

三、主要操作

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 #导入所需管理的项目到版本库repository中 svn import /data/www/sinsvn/ file : ///data/svn/sinsvn -m "svn first test" #检查是否导入成功 svn list --verbose file : ///data/svn/sinsvn #修改版本库的配置文件 # vim /data/svn/sinsvn/conf/svnserve.conf cat > /data/svn/sinsvn/conf/svnserve .conf << "EOF" [general] anon-access = none auth-access = write password-db = /data/svn/passwd authz-db = /data/svn/authz realm =sinsvn EOF   cp /data/svn/sinsvn/conf/passwd /data/svn cp /data/svn/sinsvn/conf/authz /data/svn   #修改允许访问版本库的用户文件 # vim /data/svn/passwd cat > /data/svn/passwd << "EOF" [ users ] harry = harry sin = sin EOF     # vim /data/svn/authz cat > /data/svn/authz << "EOF" [ groups ] myteam = harry,sin   [/] harry = rw   [sinsvn:/] @myteam = rw   [secsvn: /www ] @myteam =r sin= rw   [sincms:/] sin= rw harry= EOF     # 启动 svn 服务 svnserve -d -r /data/svn/   # 查看 ps -ef| grep svnserve| grep - v 'grep' netstat -anltp| grep 3690

四、测试

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 # 测试,在另外一台机器上操作(129),目的是效果更为明显些 # 1、mkdir -p /data/www mkdir -p /data/www cd /data/www/ # 2、svn co 代码 svn co svn: //192 .168.65.130 /sinsvn --username=harry --password=harry   # 3、添加branches,tags,trunk目录 cd sinsvn/ mkdir branches mkdir tags mkdir trunk   svn add branches trunk tags svn ci -m 'create branches trunk tags dir'   # 4、在trunk中添加测试文件,并提交到版本库 cd trunk touch index.php mkdir class touch class /conn .php   svn add index.php svn add class/   ......   svn ci -m 'test file'     svn delete index.php class class/ index.php svn ci -m 'delete files'   mkdir webgame svn add webgame/ svn ci -m 'add webgame dir'   # 追加操作 cd webgame cp /tmp/VMwareTools-10 .2.0-7259539. tar .gz . cp /tmp/yum .log . svn add * svn ci -m 'add VMwareTools yum.log for test'     ############### 这里假设130的机器上有个web项目 mkdir -p /data/webdir cd /data/webdir svn co svn: //192 .168.65.130 /sinsvn/trunk/webgame --username=harry --password=harry   # 追加操作 cd /data/webdir/webgame/ svn update ll # 可以查看到更新后的结果

五、脚本定制更新

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 # 定时更新脚本(针对整个目录自动更新的脚本,被动模式) cat > /root/svnauto_update .sh<< "EOF" cd /data/webdir/webgame/ svn update &>> /tmp/svnauto_update .log EOF   chmod +x /root/svnauto_update .sh chmod +x /etc/crontab /etc/init .d /crond restart # 添加至crontab计划任务中     cat >> /var/spool/cron/root << "EOF"   # svnauto_update.sh * 09-23 * * * /bin/sh /root/svnauto_update .sh EOF   # 自动更新脚本(针对版本号触发式更新) #svn 目录:/data/svn/sinsvn #站点目录:/data/webdir/webgame   #实现: #1.找到svn项目的hooks目录,这里是/data/svn/sinsvn/hooks。目录中默认会几个对应操作的钩子模板,我们需要创建一个post-commit的文件。 find /data/svn/sinsvn/ -name hooks   #2.新建post-commit,内容如下 cat > /data/svn/sinsvn/hooks/post-commit << "EOF" #!/bin/bash REPOS= "$1" REV= "$2" export LANG=zh_CN.UTF-8 echo "Code Deployed at " $1 " Committed revision " $2 " ; `date " +%Y-%m-%d %H:%M:%S "`" >> /tmp/post-commit .log /usr/bin/svn update --username harry --password harry /data/webdir/webgame >> /tmp/post-commit .log EOF   chmod +x /data/svn/sinsvn/hooks/post-commit

以上就是本文的全部内容,希望对大家的学习有所帮助。

 

未经允许不得转载:搬瓦工中文网 » CentOS 6.9环境SVN服务器快速安装与配置详细教程