一、安装SVN
yum install -y subversion
#检查是否安装成功
svnserve –version
二、创建版本库
//创建目录
mkdir /svn/ku
//创建版本库
cd /svn
svnadmin create ku
//创建成功
导入版本库
svn import [源路径] [目标版本库路径] -m [日志信息]
svn import svn/ file:///svn/ku -m ‘初始化svn目录’
三、配置文件
进入版本库下的conf文件夹,修改authz、passwd和svnserve.conf文件
authz、passwd按文件提示格式修改,如下修改svnserve.conf:
auth-access = write//普通用户访问权限:读、写
anon-access = none//匿名用户访问权限:无
password-db = passwd//密码文件
# authz-db = authz//注意这里的注释不要打开,有的时候出现认证失败的情况
# realm = My First Repository//(这里修改为版本库的地址 /var/svn/svnrepos/liuke,也可以不修改)
vi passwd
svnname = 123456
用户名=密码
vi authz
[groups]
admin = xiaoran.shen,test1
user = test2
[/]
@admin = rw
@user = rw
用户名=rw
四、开启SVN服务
svnserve -d -r /svn/ku
如果提示:
svnserve: E000098: Can’t bind server socket: Address already in use
则需要重启svn,查看svn服务:ps aux | grep svn再用kill -9 (进程id),最后svnserve -d -r /var/svn/svnrepos/liuke重启
五、开启SVN3690端口
1.在服务器安全组中添加3690
2.在centos中添加3690端口步骤如下:
查看端口
firewall-cmd –list-ports
1
添加3690端口
firewall-cmd –zone=public –add-port=3690/tcp –permanent
iptables -I INPUT -i eth0 -p tcp –dport 3690 -j ACCEPT
iptables -I OUTPUT -o eth0 -p tcp –sport 3690 -j ACCEPT
重启防火墙
firewall-cmd –reload
六、同步svn项目到网站web目录
1、在web目录中checkout版本库
这一步是非常关键的一步了:
svn co svn://localhost/ku /www/wwwroot/project –username jjjj(SVN账号) –password 123456(SVN密码)
进入 /svn/ku/hooks目录下
建立post-commit文件:
cd /svn/ku/hooks
vi post-commit
//在该文件里添加如下代码,保存
#!/bin/sh
#设定环境变量,如果没有设定可能会出现update报错
#设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
REPOS=”$1″
REV=”$2″
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn //这里为svn安装路径
SVNDATA_PATH=/svn/ku //svn库路径
WEB_PATH=/www/wwwroot/web //你的web目录
SVN_USER=depyousvn
SVN_PASS=10gteksvn@1
LOG_PATH=/svn/ku/svn_update.log
echo “##########开始提交 ” `date “+%Y-%m-%d %H:%M:%S”` ‘##################’ >> $LOG_PATH
for change_dir in `svnlook dirs-changed $SVNDATA_PATH`
do
$SVN_PATH update –username $SVN_USER –password $SVN_PASS –no-auth-cache -N $WEB_PATH/$change_dir >> $LOG_PATH
done
echo `whoami`,$REPOS,$REV >> $LOG_PATH
chown -R www:www $WEB_PATH/$change_dir
#mailer.py commit “$REPOS” “$REV” /path/to/mailer.conf
修改用户和给权限
chmod 755 post-commit//给权限
chown www:www post-commit//修改用户