Centos 配置svn 并自动更新至远端web目录下

1.安装subversion

yum -y install subversion

2.创建svn的版本库

mkdir -p /svn/www
svnadmin create /svn/www

3.配置svn版本库

vim /svn/www/conf/svnserver.conf
anon-access = none
auth-access = write
password-db = passwd
authz-db = /var/svn/repos/conf/authz
realm = /svn/www                    库所在的位置

vim /svn/www/conf/passwd #配置用户账户密码
user = passwd
vim /svn/www/conf/authz #配置用户权限
user = rw

4.启动svn

svnserver -d -r /svn/www

本地SVN与远端web路径同步

svn:192.168.1.1
web:192.168.1.2

1.首先在web端手动使用SVN同步一下内容,看是否能同步过来

svn co svn://192.168.1.99/system_online --username pk --password pengkai

2.更改目录权限

chmod nginx.nginx /usr/share/nginx/html

3.到SVN服务器修改勾子文件,然SVN有更改时自动同步到web服务器

cp /svn/www/hooks/post-commit.tmpl /svn/www/hooks/post-commit
vim /svn/www/hooks/post-commit
#!/bin/sh
EPOS="$1"
REV="$2"
SVN_PATH=/usr/bin/svn
SSH_PATH=/usr/bin/ssh
LOG_PATH=/tmp/svn.log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$SSH_PATH root@192.168.1.59 'svn update /usr/share/nginx/html/system_online/ --username pk --password pengkai'
$SSH_PATH root@192.168.1.59 'chown -R nginx.nginx /usr/share/nginx/html/system_online'
wq!

7.给这个文件添加执行权限

chmod 755    /svn/www/hooks/post-commit

8执行一下这个脚本(1.保存需要的密码 2.看脚本是否能执行)

/bin/bash post-commit
查看/tmp/svn.log,查看是否执行成功

推荐阅读更多精彩内容