阅读 179

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

这篇文章主要为大家详细介绍了CentOS6.9下svn快速安装配置方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

环境介绍:

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

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

12345if [ ! -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上操作)

1234mkdir -p /data/svn/sinsvn#创建版本库svnadmin create /data/svn/sinsvnmkdir -p /data/www/sinsvn

三、主要操作


123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#导入所需管理的项目到版本库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.confcat >/data/svn/sinsvn/conf/svnserve.conf <<"EOF"[general]anon-access = noneauth-access = writepassword-db = /data/svn/passwdauthz-db = /data/svn/authzrealm =sinsvnEOF cp /data/svn/sinsvn/conf/passwd /data/svncp /data/svn/sinsvn/conf/authz /data/svn #修改允许访问版本库的用户文件# vim /data/svn/passwdcat >/data/svn/passwd <<"EOF"[users]harry = harrysin = sinEOF  # vim /data/svn/authzcat >/data/svn/authz <<"EOF"[groups]myteam = harry,sin [/]harry = rw [sinsvn:/]@myteam = rw [secsvn:/www]@myteam =rsin= rw [sincms:/]sin= rwharry=EOF  # 启动 svn 服务svnserve -d -r /data/svn/ # 查看ps -ef|grep svnserve|grep -v 'grep'netstat -anltp|grep 3690

四、测试

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354# 测试,在另外一台机器上操作(129),目的是效果更为明显些# 1、mkdir -p /data/wwwmkdir -p /data/wwwcd /data/www/# 2、svn co 代码svn co svn://192.168.65.130/sinsvn --username=harry --password=harry # 3、添加branches,tags,trunk目录cd sinsvn/mkdir branchesmkdir tagsmkdir trunk svn add branches trunk tagssvn ci -m 'create branches trunk tags dir' # 4、在trunk中添加测试文件,并提交到版本库cd trunktouch index.phpmkdir classtouch class/conn.php svn add index.php svn add class/ ...... svn ci -m 'test file'  svn delete index.php class class/ index.phpsvn ci -m 'delete files' mkdir webgamesvn add webgame/svn ci -m 'add webgame dir' # 追加操作cd webgamecp /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/webdircd /data/webdirsvn co svn://192.168.65.130/sinsvn/trunk/webgame --username=harry --password=harry # 追加操作cd /data/webdir/webgame/svn update ll # 可以查看到更新后的结果

五、脚本定制更新

12345678910111213141516171819202122232425262728293031323334353637# 定时更新脚本(针对整个目录自动更新的脚本,被动模式)cat >/root/svnauto_update.sh<<"EOF"cd /data/webdir/webgame/svn update &>>/tmp/svnauto_update.logEOF chmod +x /root/svnauto_update.shchmod +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.shEOF # 自动更新脚本(针对版本号触发式更新)#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/bashREPOS="$1"REV="$2"export LANG=zh_CN.UTF-8echo "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.logEOF chmod +x /data/svn/sinsvn/hooks/post-commit

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



文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐