centOs6.5 SVN 服务器搭建并实现提交自动同步到web服务器

第一步,安装SVN
yum install subversion
yum remove subversion(卸载)

第二步,创建SVN版本库

mkdir -p /var/svn/svntest
第三步,创建版本库
svnadmin create /var/svn/svntest
执行完上面命令后会生成如下文件,说明版本库创建成功:


第四步,进入conf目录配置该版本库的文件:

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件

第五步,配置passwd,语法:用户名=密码,例:

[users]
test1 = 123456 
test2 = 123456
第六步,配置authz用户权限文件,rw是有读写权限:
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin_group = test2

[/]
test1 = rw
[/adminfile]
@admin_group = rw
第七步,配置svnserve.conf文件,打开下面几个注释即可:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svntest #认证空间名,版本库所在目录
第八步,启动SVN版本库,完成:

启动SVN:

svnserve -d -r /var/svn/svntest
关闭SVN(查看进程PID,然后kill掉):
ps aux | grep -i svn
kill pid号

防火墙开启3690端口:

编辑防火墙配置文件:

vi  /etc/sysconfig/iptables
增加下面一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
重启防火墙
service iptables restart

第九步,实现自动同步:

首先在服务器上建一个文件夹:

mkdir /var/testcode
执行check:
svn --username test1 --password 123456 co svn://127.0.0.1 /var/testcode/
在/var/svn/svntest/hook下创建post-commit文件,文件设置可执行权限,加入以下内容:
#!/bin/sh
REPOS="$1"
REV="$2"
WEB_PATH=/var/testcode
SVN_USER=test1
SVN_PASS=123456
WEB_USER=www
LOG_PATH=/tmp/svn.log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH
chown $WEB_USER.$WEB_USER -R $WEB_PATH
保存后实现自动同步功能

拓展,创建多项目:

(1): 创建svn仓库路径
mkdir  -p  /opt/svn/project1
mkdir -p   /opt/svn/project2
svnadmin  create  /opt/svn/project1
svnadmin  create  /opt/svn/project2
注意:为了规范:一般在项目目录下再创建,项目代码导入到trunk目录:
mkdir  -p   /opt/svn/projec1/trunk
mkdir  -p   /opt/svn/projec1/tags
mkdir  -p   /opt/svn/projec1/branches
项目2操作和一类似。

其他配置参考以上步骤

(2):启动svn服务

svnserve   -d   -r    /opt/svn/
注意:如果在一台服务器上同时启动多个版本管理,那么启动路径必须是所有项目仓库的根路径:比如
/opt/svn/project1    /opt/svn/project2   ------------------->   /opt/svn/ 

猜你喜欢

转载自blog.csdn.net/benben0503/article/details/51483286