因为还在测试阶段,svn和线上测试服务器在同一台linux服务器上,由于机房更换,导致服务器的ip改了,svn也就瘫痪了,直接更换svn://xxx.xxx.xxx.xx 不可以了.所以先要解决svn不能使用的问题。
ps -ef|grep svn
因为不是root,所以用sudo获取权限,发现svn的进程指向的目录 /data/svn/xxx 不是我的仓库地址(上面演示的是改好后的正确地址)。
首先杀死svn,然后将目录指向正确的目录地址
$ kill -9 19431
$ svnserve -d -r /data/svn/正确的仓库地址
这样,svn就可以正常使用了
下一步,就是将svn的代码检出到存放网站代码的www中
$ svn co file:///data/svn/zhy
检出后的目录 很多人说要更改属组,否则不能同步,反正我没有更改就是root。
接下来去svn仓库的hooks目录,这里放的是所谓的钩子文件,没改过的话都是.tmpl结尾的配置模板
post-commit.tmpl是svn提交成功后执行的钩子文件,要做svn同步就要用到它了
首先复制一份
cp post-commit.tmpl post-commit
然后编辑 post-commit
vi post-commit
写入如下代码
username和password 是你的svn账户和密码 ,不是登录服务器的账户密码。
重启下svn ,像文章开始那样。
然后就大功告成了,说起来挺快的,实际上本人小菜 折腾的相当苦逼,包括遇到什么认证失败啊什么的乱七八糟的bug就不一一扯了。。。
大体操作,写下来做个备忘,还有帮助和我一样的小菜....