四、SVN钩子的案例

作者: print("") 分类: linux 发布时间: 2017-05-17 13:44

Svn post-commit 案例。利用rsync推送到远程web服务器中。
这里我们没有rsync服务器。所以做推送到本地/tmp 下中
[root@mysql1 hooks]# cp post-commit.tmpl post-commit
[root@mysql1 hooks]# vim post-commit
REPOS=”$1″
REV=”$2″
 
#mailer.py commit “$REPOS” “$REV” /path/to/mailer.conf
 
REPOS=”$1″
REV=”$2″
 
#mailer.py commit “$REPOS” “$REV” /path/to/mailer.conf
export LANG=en_US.UTF-8
LOGPATH=”/app/log”
[ ! -d ${LOGPATH} ] && mkdir ${LOGPATH} -p
#update content from svn
SVN=/usr/bin/svn
$SVN update –username liang –password 123456 /data/www
if [ $? -eq 0 ]
then
/usr/bin/rsync -az /data/www/ /tmp/
fi
[root@mysql1 hooks]# chmod 755 post-commit  ###给钩子权限
[root@mysql1 hooks]# mkdir /data/www   ###建立本地备份目录
[root@mysql1 hooks]# svn co svn://192.168.236.156/sadoc/  –username liang –password 123456 /data/www
A    /data/www/14-1506291A242927.jpg
A    /data/www/3822951_105204803000_2.jpg
A    /data/www/3822951_094451200000_2.jpg
A    /data/www/6337790_120550160000_2.jpg
A    /data/www/11417_191053007953_2.jpg
A    /data/www/8022110_121953621338_2.jpg
A    /data/www/branch
A    /data/www/3822951_135521683000_2.jpg
A    /data/www/tags
A    /data/www/test.log
A    /data/www/aaa.txt
A    /data/www/21.jpg
A    /data/www/trunk
A    /data/www/trunk/test
A    /data/www/36c58PICPZI_1024.jpg
A    /data/www/aaa.jnt
A    /data/www/90T58PICvY4_1024.jpg
Checked out revision 19.
[root@mysql1 hooks]# echo $?
0
提交更新一下 [root@mysql1 hooks]# tree /data/www/
/data/www/
|– 124.txt            #############在/date/www中多了一个124.txt文件
|– branch
|– sadac
|– tags
|   `– 12345.txt
`– trunk
|– cc.txt
|– ccc.txt
`– test
 
5 directories, 4 files
[root@mysql1 hooks]# tree /tmp/
/tmp/
|– 124.txt        #############在/date/www中多了一个124.txt文件
|– branch
|– sadac
|– tags
|   `– 12345.txt
`– trunk
|– cc.txt
|– ccc.txt
`– test
 
5 directories, 4 files
[root@mysql1 hooks]#
钩子脚本的注意事项:

  • 钩子脚本的权限要允许svn执行、一般可以设置chmod 755 post-commit
  • 写钩子脚本时尽量可能定义变量。主要是用过的命令的路径、因为svb考虑安全问题、不会调用系统环境变量、所以如果需要发送系统的一些命令。需要加上绝对路径、

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

说点什么

avatar
  Subscribe  
提醒