本文记录通过svn的钩子脚本实现本地提交svn后,自动同步代码文件到服务器的网站目录下,而不必手动同步。
假如现在有:
SVN版本库中的一个项目:/var/svn/lei
网站目录:/var/www/
我们先将SVN版本库中的一个项目checkout到网站目录:
svn co svn://xxxx.xxx.xx.xx/lei --username admin --password admin
这时,网站目录已成为SVN的工作副本,接下来利用SVN的钩子让这个工作副本自动更新。
新建一个post-commit钩子:
vim /var/svn/lei/hooks/post-commit
添加以下代码:
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG="zh_CN.UTF-8" #防止乱码
svn update /home/www/ --username Hwei --password 123456 --no-auth-cache #设置登陆账号密码并不缓存
注:不要遗漏第一行的#!/bin/sh,否则post-commit会报代号255的错误。
保存后,修改文件权限为755,否则SVN无法调用执行:
chmod 755 /home/svn/tcyg/hooks/post-commit
OR:
chmod +x /home/svn/tcyg/hooks/post-commit
OK,至此,就完成了svn文件提交后自动同步更新到网站目录的代码了。
参考 :http://blog.csdn.net/u011884440/article/details/70495615
https://segmentfault.com/a/1190000003853810 (svn搭建文章)
网友评论