本文介绍了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
注意要提前创建好日志目录和文件