一、安装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 //修改用户

除非注明, askADC博客 的文章均为原创,转载请注明作者和出处。
本文链接地址: http://blog.askadc.com/linux%e6%90%ad%e5%bb%basvn%e6%9c%8d%e5%8a%a1-%e5%ae%9e%e7%8e%b0svn-%e8%87%aa%e5%8a%a8%e5%90%8c%e6%ad%a5%e5%88%b0web%e7%9b%ae%e5%bd%95%ef%bc%8csvn%e8%87%aa%e5%8a%a8%e5%90%af%e5%8a%a8/

发表评论

邮箱地址不会被公开。 必填项已用*标注