前言:
承接上一篇, http://www.jianshu.com/p/1f0195a051ad , 里面提到的勾子
hooks(钩子)文件说明:
- start-commit 提交前触发事务
- pre-commit 提交完成前触发事务
- post-commit 提交完成时触发事务
- pre-revprop-change 版本属性修改前触发事务
- post-revprop-change 版本属性修改后触发事务
定义:
- SVN版本库 = /home/svn/web # 每次SVN提交的仓库
- 网站目录 = /home/www/web # nginx配置WEB目录
hooks(钩子)目录:
/home/svn/web/ 目录下面有一个hooks 目录,进去里面有很多 *.tmpl文件,其实就是很多备份文件
增加hooks(钩子)文件
vim /home/svn/web/hooks/post-commit
#可以直接创建文件,复制下面代码
#!/bin/sh
# demo 1
export LANG="zh_CN.UTF-8" #防止乱码
SVN=/usr/bin/svn #运行命令二进程,这里是设置的绝对路径
TODIR=/home/www/web #要更新的目录
$SVN update $TODIR
#demo 2
#svn update /home/www/web --username user1 --password password1 --no-auth-cache #设置登陆账号密码并不缓存
#end
上面给了两种方式,选择其中一个就行
- 保存后修改文件权限为755,否则SVN无法调用执行
chmod 755 /home/svn/web/hooks/post-commit
小记:
更多钩子的用法,可以查看SVN官方文档
如果觉得文章还行,可以关注我,你的支持会鼓励我不断分享更多更好的优质文章。