自动更新的测试服务器分两种情况,第一种是SVN服务器和测试服务器为同一服务器,第二种情况是SVN服务器和测试服务器为不同的服务器。
这里只说第一种情况,第二种情况,则通过钩子里面执行php脚本curl访问远程测试服务器的url,来实现更新,参考链接:http://mengkang.net/67.html
1.检出一份代码到web目录
例如这个SVN对应的项目目录为/home/wwwroot/test
,则在这个项目目录里面先进行仓库的检出
- cd /home/wwwroot/test
- svn co svn://123.123.123.123/repos1 ./ --username xxx
2.编辑svn钩子
- cd /home/www/svndata/repos1
- cp post-commit.tmpl post-commit
- vi post-commit
编辑为如下内容,最简单的演示,可以在脸面添加邮件发送等
- #!/bin/bash
- export LANG="zh_CN.UTF-8"
- svn update /home/wwwroot/test/ --username xxx --password xxx
最后别忘记把post-commit
的权限修改为777
- chmod 777 post-commit