回顾基于Lunux搭建svn,SVN同步版本库与网站目录

回顾基于Lunux搭建svn,SVN同步版本库与网站目录_第1张图片

前言:

承接上一篇, 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官方文档

如果觉得文章还行,可以关注我,你的支持会鼓励我不断分享更多更好的优质文章。

你可能感兴趣的:(回顾基于Lunux搭建svn,SVN同步版本库与网站目录)