• linux svn hooks代码自动更新至项目


    由于开发移动端web,ui需要及时看到样式变化,所以通过svn hooks(钩子)来提交文件,然后再把文件同步到测试服务器项目目录,步骤如下:

    1、进入 /home/svn/cmall/hooks (svn的安装目录,根据操作系统,路径各有不同)

      cp post-commit.tmpl post-commit

    2、修改post-commit权限(必须可写,本人比较懒,直接777)

      sudo chmod +x post-commit

    3、编辑post-commit

      vim post-commit

    把以下内容“粘贴”进去

    export LANG=en_US.UTF-8
    STATIC_DIR=/var/www/html/mall_test
    svn update $STATIC_DIR --username evan --password 123465 --no-auth-cache

    #
    # The post-commit hook is invoked after a commit.  Subversion runs
    # this hook by invoking a program (script, executable, binary, etc.)
    # named 'post-commit' (for which this file is a template) with the 
    # following ordered arguments:
    #
    #   [1] REPOS-PATH   (the path to this repository)
    #   [2] REV          (the number of the revision just committed)
    #
    # The default working directory for the invocation is undefined, so
    # the program should set one explicitly if it cares.
    #
    # Because the commit has already completed and cannot be undone,
    # the exit code of the hook program is ignored.  The hook program
    # can use the 'svnlook' utility to help it examine the
    # newly-committed tree.
    #
    # On a Unix system, the normal procedure is to have 'post-commit'
    # invoke other programs to do the real work, though it may do the
    # work itself too.
    #
    # Note that 'post-commit' must be executable by the user(s) who will
    # invoke it (typically the user httpd runs as), and that user must
    # have filesystem-level permission to access the repository.
    #
    # On a Windows system, you should name the hook program
    # 'post-commit.bat' or 'post-commit.exe',
    # but the basic idea is the same.
    # 
    # The hook program typically does not inherit the environment of
    # its parent process.  For example, a common problem is for the
    # PATH environment variable to not be set to its usual value, so
    # that subprograms fail to launch unless invoked via absolute path.
    # If you're having unexpected problems with a hook program, the
    # culprit may be unusual (or missing) environment variables.
    # 
    # Here is an example hook script, for a Unix /bin/sh interpreter.
    # For more examples and pre-written hooks, see those in
    # the Subversion repository at
    # http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and
    # http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/
    
    #REPOS="$1"
    #REV="$2"
    #mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
    
    export LANG=en_US.UTF-8
    STATIC_DIR=/var/www/html/mall_test
    svn update  $STATIC_DIR --username evan --password 123456 --no-auth-cache
    

      

    4、完成

  • 相关阅读:
    两台电脑之间怎么用一根网线传输数据
    IDEA的几个常用配置,日常开发必备
    idea 配置Maven
    IDEA2019 安装和激活
    HTML中各类空格占位符
    jackSon注解-- @JsonInclude 注解不返回null值字段
    Vscode配置Eslint
    Tomcat中容器是什么以及容器与容器之间的数量关系。
    请求是如何传递给StandardEngine的?
    Java中一个线程只有六个状态。至于阻塞、可运行、挂起状态都是人们为了便于理解,自己加上去的。
  • 原文地址:https://www.cnblogs.com/EvanHe/p/6221862.html
Copyright © 2020-2023  润新知