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内容导出到指定目录

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值