zoukankan      html  css  js  c++  java
  • svn上传文件钩子

    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目录下就可以看到有这个新建的文件。

  • 相关阅读:
    u-swipe-action报错Error: Not Found:Page[2][-1,20-9;9] at view.umd.min.js:1
    vue ui框架
    windows下简单部署django+vue项目(打包后)
    vue+django开发配置(vue转发请求、跨域携带cookie)
    python做定时任务schedule、aspscheduler、celery
    第四章练习题
    软件开发目录规范
    常用模块学习(六)
    常用模块学习(五)
    常用模块学习(二)
  • 原文地址:https://www.cnblogs.com/shuaihan/p/9434347.html
Copyright © 2011-2022 走看看