自动更新的测试服务器分两种情况,第一种是SVN服务器和测试服务器为同一服务器,第二种情况是SVN服务器和测试服务器为不同的服务器。

这里只说第一种情况,第二种情况,则通过钩子里面执行php脚本curl访问远程测试服务器的url,来实现更新,参考链接:http://mengkang.net/67.html

1.检出一份代码到web目录

例如这个SVN对应的项目目录为/home/wwwroot/test,则在这个项目目录里面先进行仓库的检出

  1. cd /home/wwwroot/test
  2. svn co svn://123.123.123.123/repos1 ./ --username xxx

2.编辑svn钩子

  1. cd /home/www/svndata/repos1
  2. cp post-commit.tmpl post-commit
  3. vi post-commit

编辑为如下内容,最简单的演示,可以在脸面添加邮件发送等

  1. #!/bin/bash
  2. export LANG="zh_CN.UTF-8"
  3. svn update /home/wwwroot/test/ --username xxx --password xxx

最后别忘记把post-commit的权限修改为777

  1. chmod 777 post-commit

 

 

 

参考链接:https://mengkang.net/193.html