作为linux的门外汉,一直觊觎svn的方便性,在有台aliyun的情况下,一起来搞搞。


 


1.环境


 


阿里云 centos5.5


 


2.安装svn


 


yum -y install subversion


3.配置


 


建立版本库目录


 


mkdir /alidata/www/svndata


svnserve -d -r /alidata/www/svndata


4.建立版本库


 


创建一个新的Subversion项目


 


svnadmin create /alidata/www/svndata/myproject


配置允许用户rsync访问


 


cd /alidata/www/svndata/myproject/conf


vi svnserve.conf


anon-access=none


auth-access=write


password-db=passwd


注:修改的文件前面不能有空格,否则启动svn server出错


 


vi passwd


[users]


#<用户1> = <密码1>


#<用户2> = <密码2>


myname=myaname


5.客户端连接


 


svn co svn://ip/alidata/www/svndata/myproject


用户名密码:myname


 


6.实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中


 


1)设置根目录为/alidata/www/webroot


 


2)checkout一份SVN


 


svn co svn://localhost/alidata/www/svndata/myproject /alidata/www/webroot


修改权限为WEB用户


 


chown -R www:www /alidata/www/webroot/myproject


3)建立同步脚本


 


cd /alidata/www/svndata/myproject/hooks/


cp post-commit.tmpl post-commit


编辑post-commit,在文件最后添加以下内容


 


export LANG=en_US.UTF-8


SVN=/usr/bin/svn


WEB=/alidata/www/webroot/


$SVN update $WEB –username myname –password myname


chown -R www:www $WEB


增加脚本执行权限


 


chmod +x post-commit


这样,我们上传svn后,生产站点就能立马显示出来了,自动化程度高了很多。