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安装检查(在两台上都执行)

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上操作)

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

三、主要操作

#导入所需管理的项目到版本库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

四、测试

# 测试,在另外一台机器上操作(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 # 可以查看到更新后的结果

五、脚本定制更新

# 定时更新脚本(针对整个目录自动更新的脚本,被动模式)
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

以上是“CentOS6.9中如何快速安装配置svn”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


新闻名称:CentOS6.9中如何快速安装配置svn
标题路径:http://pwwzsj.com/article/jdhico.html