CentOS6.9下svn快速安装配置方法

时间:2021-05-02

本文实例为大家分享了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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/bjx2020/p/8727641.html

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章