• php利用svn hooks将程序自动发布到测试环境


      利用svn hooks将php程序自动发布到测试环境

      复制仓库hooks目录下的post-commit.tmpl为post-commit

    cp post-commit.tmpl post-commit

      将post-commit修改为:

    REPOS="$1"
    REV="$2"
    
    #mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
    
    export PATH="/usr/local/svn/bin:$PATH"  #由于代码是apache的进程用户www运行,所以需要设置环境变量
    export LC_CTYPE=en_US.UTF-8             #防止提交的文件名存在非字母字符。  
    if (svnlook log -r $REV 仓库所在目录 | grep "auto_deploy" )  #当用户提交时注释中写上"auto_deploy"的时候,就自动部署到apache目录,否则不部署。
    then
      echo "`date` 'auto depoly command received" >> /tmp/test_svnautocommit.txt   #这一行仅作调试使用
      svn export "svn://IP:端口/项目"  部署目录  --force
      chown -R apache:apache 部署目录
    fi

      svn提交时会触发post-commit命令;只需要在注释中添加auto_deploy便可将svn内容导出到指定目录

      不足之处:每次为全量导出,耗时较长;可考虑做成增量导出的方式。

  • 相关阅读:
    dw2018修改为中文
    C# 响应一个html页面
    layui 时间控件 单击 年直接赋值
    js 正则 测试
    python之读取和写入csv文件
    python安装与配置
    hive支持sql大全
    HiveQL与SQL区别
    Hadoop插件安装
    简单算法学习之快速排序详解
  • 原文地址:https://www.cnblogs.com/rwxwsblog/p/5281607.html
Copyright © 2020-2023  润新知