不知道有没朋友遇到过这样一个问题,就是在SVN公司或团队协同开发时,需要布置一个公共的WEB测试地址,以供大家随时线上测试这样的事情。
方法其实很简单,有过在服务器上架设SVN服务端的朋友都能大概摸到个流程,无非就是启用一个POST-COMMIT钩子脚本,在各个开发人员成功commit后自动部署脚本。
先共享一下我的方法
先在SSH终端中执行一下最新版本导出到测试的apache 网站目录
然后上传post-commit文件到 /你的路径/svn/repository/hooks/下面
post-commit内容:
# /usr/bin/svn co svn://SVN地址 /home/web/ 这个测试不成功
至此,可以试试运行一下这个脚本试试,
./post-commit
当提示类似版本信息比如: 程序代码
就基本上完成了大概的操作了。
剩下的,对该文件 赋予执行权限,并加入到apache组
chown apache:apache ./post-commit
chown a+x ./post-commit
这样操作后绝对不会在 commit时出现比如“post-commit hook failed (exit code 255) with no output” 这样的错误了。
但最主要有一个问题,怕是连老手都有可能碰到的非技术问题,就是 POST-COMMIT 的编码问题了;
在服务器上直接./post-commit 执行这个脚本时,如果编码有问题的话,会出现类似下面的异常状况。
由于本人不习惯直接在 ssh终端上修改文件,基本上都是直接用ROOT账户登陆 CuteFTP 上下载操作的。所以需要将该文件用 editplus转成 UTF-8 格式就行,至于其它编辑器,暂时就没有去总结了。
转自 http://www.mysuc.com/article/Linux/SVN-xietongkaifashifuwuduanyuxianshang-APACHE-test-huanjing-website-tongbujilu.htm