客户端提交SVN后,web服务器上自动update


先在服务器上co一份:

svn --username longpan --password 123456 co svn://122.225.98.78:999/web

进入版本库hook目录

脚本名字是post-commit,内容如下

[root@mail hooks]# cat post-commit

#!/bin/sh

svn=/usr/local/svn/bin/svn

web=/root/web

log=/home/svndata/svnlog

export LANG=zh_CN.UTF-8

date=`date`

echo "code deployed ad $date">>$log

$svn update --username longpan --password 123456 $web >>$log


测试

提交后查看日志

[root@mail svndata]# tailf svnlog

code deployed ad 2013年 05月 30日 星期四 11:05:12 CST

跳过“/root/web”

code deployed ad 2013年 05月 30日 星期四 11:06:41 CST

跳过“/root/web”


跳过了,这是由于SVN要询问是否保存密码

编辑 /root/.subversion/servers

vim /root/.subversion/servers

store-passwords = no

store-plaintext-passwords = no

找到上面两行,去掉注释

重新测试

[root@mail svndata]# tailf svnlog

code deployed ad 2013年 05月 30日 星期四 11:05:12 CST

跳过“/root/web”

code deployed ad 2013年 05月 30日 星期四 11:06:41 CST

跳过“/root/web”

code deployed ad 2013年 05月 30日 星期四 11:10:39 CST

code deployed ad 2013年 05月 30日 星期四 11:11:56 CST

D    /root/web/faffafa

A    /root/web/esfsafsa

更新到版本 11。


测试通过