linux下安装svn服务端,并配置自动更新项目到web目录

①安装svn服务端

[root@vm-31 ~]# yum install svn

②创建服务端仓库,并设置权限

[root@vm-31 ~]# mkdir -p /var/svn/test
[root@vm-31 ~]# svnadmin create /var/svn/test

[root@vm-31 test]# vi conf/passwd

vi  conf/svnserve.conf

③开放svn默认端口3690

[root@vm-31 test]# firewall-cmd --zone=public --add-port=3690/tcp --permanent

[root@vm-31 test]# firewall-cmd --reload

查看所有的开放到端口

[root@vm-31 test]# firewall-cmd --zone=public --list-ports

④开启svn服务

[root@vm-31 test]# svnserve -d -r /var/svn/

⑤配置自动更新到web目录

新建一个www用户并设置密码

[root@vm-31 htdocs]# adduser www 
[root@vm-31 htdocs]# passwd www

修改web目录所有者为www用户,并检出svn仓库到该目录

chown -R www.www /opt/lampp/htdocs/test

[root@vm-31 test]# svn co svn://192.168.0.31/test ./

配置钩子

[root@vm-31 test]# cd /var/svn/test/hooks/

[root@vm-31 hooks]# vi post-commit

[root@vm-31 hooks]# cp post-commit.tmpl  post-commit

#!/bin/sh
SVN=/usr/bin/svn
WEB=/opt/lampp/htdocs/test
LOG_PATH=/tmp/svn_hook.log
echo "------------Start Commit -----------" >> $LOG_PATH
echo "Time:"`date '+%Y-%m-%d %T'`>>$LOG_PATH
export LANG='zh_CN.UTF-8' #防止乱码 
for DIR in `svnlook dirs-changed /var/svn/test/`
do $SVN update $WEB/$DIR
done

#chown -R www.www /opt/lampp/htdocs/test

添加可执行权限

[root@vm-31 hooks]# chmod +x post-commit

保存提交,然后windows客户端检出,新建文件提交,查看web目录

发现提交后项目在web目录自动更新了123.text

猜你喜欢

转载自blog.csdn.net/Jsonxiang/article/details/83541593