码迷,mamicode.com
首页 > Web开发 > 详细

svn上传文件钩子

时间:2018-08-07 01:37:56      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:创建   The   脚本   大小   dir   www   内容   tmp   sync   

svn钩子

 钩子脚本就是shell的写法,钩子就是被某些版本库事件触发的程序。    

 常用钩子:

  post-commit:在提交完成成功创建之后执行该钩子。(提交已经完成,不可更改)

   更新之后,通过邮件、微信通知

   更新触发checkout程序、然后推送到服务器

  pre-commit:提交完成前触发执行该脚本。

   限制上传文件的大小和拓展名,控制提交要输入的信息

下面写一个小例子:

 rsync与svn钩子结合实现数据实时同步到服务器

      1、建立同步web目录

    mkdir /data/www

  2、将svn中内容checkout到web目录中

    svn co svn://ip/sadoc /data/www --username=syk --password=syk123

  3、设置钩子

    cp post-commit.tmpl post-commit

  4、编写脚本

    1)、> post-commit

    2)、chmod 700 post-commit

    3)、vim post-commit添加:

      #!/bin/bash

      REPOS="$1"

      REV="$2"

      export LANG=en_US.UTF-8

      LOGPATH="/tmp/log"

      [ ! -d ${LOGPATH} ]  && mkdir ${LOGPATH} -P

       SVN=/usr/bin/svn

       $SVN update --username syk --password syk123 /data/www

      if [ $? -eq 0 ]

      then

      /usr/bin/rsync -az --delete /data/www /tmp/

      fi

   5、测试

    这时我们在svn上新建一个文件并提交,在tmp目录下就可以看到有这个新建的文件。

svn上传文件钩子

标签:创建   The   脚本   大小   dir   www   内容   tmp   sync   

原文地址:https://www.cnblogs.com/shuaihan/p/9434347.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!