Centos7.2搭建SVN服务器并实现自动同步至web目录
安装SVN
yum install -y subversion
显示版本:
svnserve --version
创建目录:
mkdir </home/svn/>
cd </home/svn/>
创建版本库:
svnadmin create </home/svn/yunms(项目名称)>
cd </home/svn/yunms>
ls(查看自动生成的文件)
conf db format hooks locks README.txt
修改配置:(切记:配置项前不能留空格)
cd conf
创建用户组和用户
vi authz
[组] = [用户1],[用户2],……
[yunms(项目名称):/]
@[组] = rw(读写权限)
配置用户名、密码
vi passwd
[用户1] = [密码]
[用户2] = [密码]
配置svnserve.conf
anon-access = none //匿名用户访问权限:无
auth-access = write //普通用户访问权限:读、写
password-db = passwd //密码文件
authz-db = authz //权限配置文件
realm = /home/svn/yunms //版本库所在
启动svn
svnserve -d -r /home/svn(目录)
kill进程:killall svnserve
测试:
cd /home/yunms
svn co svn://localhost/yunms(项目名)
vn更新自动同步到web目录:
svn co svn://localhost/yunms /home/yunms --username <用户名> --password <密码>
新建配置文件:
cd </home/svn/yunms/hooks>
vi post-commit
#!/bin/sh
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn
WEB_PATH=/home/yunms #web访问目录
$SVN_PATH update $WEB_PATH --username '<用户名>' --password '<密码>' --no-auth-cache
chown nginx:nginx post-commit //修改用户组和用户
chmod 755 post-commit //权限
重启:
[killall svnserve]
svnserve -d -r /home/svn