部署SVN并同步web目录

本文介绍了svn服务器的搭建和使用细节。

安装

apt-get install subversion

创建svn仓库

mkdir /data/svn/ssyleo

初始化svn仓库

svnadmin create /data/svn/ssyleo

配置仓库

vim /data/svn/ssyleo/conf/svnserve.conf

anon-access = none // 禁止匿名帐号
auth-access = write // 配置可写权限
password-db = passwd // 配置帐号密码文件路径
authz-db = authz // 配置权限文件路径
realm = ssyleo

添加用户

vim /data/svn/ssyleo/conf/passwd

username = password

配置权限

vim /data/svn/ssyleo/conf/authz

[groups]
admin = username
[/]
@admin = rw
* = 

开启svn服务

svnserve -d --listen-prot 1234 -r /data/svn/ssyleo

加入开机启动

// 将svn服务加入rc.local开机启动
vim /etc/rc.local

svn地址为:svn://127.0.0.1:1234

调试

svn st
touch test.txt
echo 111 >> test.txt
svn add test.txt
svn ci -m 'test1 for ssyleo' test.txt

配置同步web目录

cp /data/svn/ssyleo/hooks/post-commit.tmpl /data/svn/ssyleo/hooks/post-commit
REPOS="$1"
REV="$2"
TXN_NAME="$3"
AUTHOR="$(svnlook author -r $REV $REPOS)"
MESSAGE="$(svnlook log $REPOS)"
SVN_PATH=/usr/bin/svn
WEB_PATH=/usr/share/nginx/html/ssyleo
mkdir -p /var/log/svnlog
touch /var/log/svnlog/ssyleo_update.log
LOG_PATH=/var/log/svnlog/ssyleo_update.log
echo "\n开始提交" `date '+%Y-%m-%d %H:%M:%S'` '######' >> $LOG_PATH
echo $AUTHOR,$MESSAGE >> $LOG_PATH
echo `whoami`,$REPOS,$REV,$TXN_NAME >> $LOG_PATH
$SVN_PATH update --username username --password password $WEB_PATH >> $LOG_PATH

注意要提前创建好日志目录和文件

你可能感兴趣的:(SVN)