利用SVN的钩子同步更新代码的方法详解
先普及一下小常识
SVN的钩子,即hook(在每个版本库下有hooks文件夹,里面有很多钩子程序,我的目录是/home/svn/fitness/hooks/)。在subversion执行一个操作时,就会相应的首先去调用相关的钩子程序。
我们在开发时都会建立测试环境,不需要每个人都Update到本地再测试。
基于SVN的这种特性,要想实现一个同步的测试服务器,我们只需要在用户执行完毕commit操作后,让钩子程序自动更新测试服务器的文件即可。
有了这样的思路,我们就开始建立post-commit的钩子吧
1、在网站的目录下,使用checkout命令建立一个副本 #svn co SVN_URL /var/www/mySite/
2、现在设置钩子,复制/home/svn/fitness/hooks/post-commit.temp文件为post-commit,并修改文件的权限#chmod 755 post-commit
3、编辑post-commit,把以下代码写入
#!/bin/sh
REPOS="$1"
REV="$2"
svn up /var/www/mySite/ --username=user1 --password=123456
大功告成,可以使用了