作为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)设置WEB服务器根目录为/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后,生产站点就能立马显示出来了,自动化程度高了很多。