红联Linux门户
Linux帮助

Linux下svn文件提交后自动同步更新到网站目录

发布时间:2017-04-24 11:04:24来源:linux网站作者:AlfredMac
本文记录通过svn的钩子脚本实现本地提交svn后,自动同步代码文件到服务器的网站目录下,而不必手动同步。
 
假如现在有:
SVN版本库中的一个项目:/home/svn/tcyg
网站目录:/home/www/
 
我们先将SVN版本库中的一个项目checkout到网站目录:
svn co file:///home/svn/tcyg/ /home/www/
 
这时,网站目录已成为SVN的工作副本,接下来利用SVN的钩子让这个工作副本自动更新。
 
新建一个post-commit钩子:(The post-commit hook is invoked after a commit.)
vim /home/svn/tcyg/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://www.linuxdiyf.com/linux/30254.html