您的位置:首页 > 其它

利用svn钩子进行客户端更新并打印日志

2014-08-26 15:39 309 查看
当我们在进行版本库更新后却无法及时告知远程客户端自动更新版本,我们可以利用svn钩子实现,但前提是服务器端和客户端可以进行无密码传输,以便于我们利用svn钩子直接执行svn up。

下面我们看一个脚本:

#!/bin/sh

# 库的路径

REPOS="$1"

# 新提交的版本号

REV="$2"

#程序目录

svn_bin=/usr/bin

svn_data_path=/data/svn

APP=/data/app

test_ip=192.168.1.2

exec 1>>"$LOGFILE"

exec 2>&1

date=`date "+%Y-%m-%d %H:%M:%S"`

author=`svnlook author -r $REV "$REPOS"`

function myecho()

{

echo "$date" "$*"

}

myecho "提交版本号: $REV 作者: $author"

for changed_dir in `$svn_bin/svnlook dirs-changed $svn_data_path`

do

update_path=`echo $changed_dir | awk -F / '{print $1}'`

myecho "Update: $changed_dir"

if [ "$update_path" = "test ];then

/usr/bin/sshroot@$test_ip "export LANG=en_US.UTF-8 ; cd $APPS/$changed_dir ; svn up"

myecho "Svn up: $changed_dir totest_ip $test_ip"

else

myecho "Svn up: $changed_dir has not been uploaded."

fi

done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: