zoukankan      html  css  js  c++  java
  • 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内容导出到指定目录

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

  • 相关阅读:
    MathType如何插入竖直线
    MongoDB时间类型
    《穆斯林的葬礼》读书笔记
    Fluentd安装——通过rpm方式
    MongoDB安装、管理工具、操作
    Flask服务入门案例
    python判断类型
    linux硬链接与软链接
    python 环境问题
    Linux进程管理工具——supervisor
  • 原文地址:https://www.cnblogs.com/rwxwsblog/p/5281607.html
Copyright © 2011-2022 走看看