用SVN的钩子实现SVN与WEB测试服务器同步

 

多人开始使用subversion之后,就想着,要建立一个测试用的服务器,不需要把文件update到本地再进行测试。

原理:基于subversion的钩子,即hook(在每个版本库下有hooks文件夹,里面有很多钩子程序)。在subversion执行一个操作时, 那会相应的首先去调用相关的钩子程序(如果存在的话)。那么实现一个同步的测试服务器,我们只需要在一个用户执行完毕一个commit操作之后,让钩子程 序去自动更新测试服务器的文件即可。通过这个思路,我们需要作的就是建立一个post-commit的钩子。

svn_update.sh

 

#!/bin/sh
SVN=/usr/bin/svn
WEB=$1
WWWROOT=/data/www/wwwroot/test.com/
SVNTMP=/data/www/svntmp/test.com/

if [ ! -d "${WWWROOT}${WEB}" ]; then
      echo "arg error"
      exit
fi

#export LANG =en_US.UTF-8
$SVN update $SVNTMP$WEB  --username *** --password **
/cp -rv $SVNTMP$WEB $WWWROOT
find $WWWROOT$WEB -type d -name ".svn" | xargs rm -rf
chown www.www $WWWROOT$WEB -R
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值