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

当我们在进行版本库更新后却无法及时告知远程客户端自动更新版本,我们可以利用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值