centos下svn的配置

相信很多同学都是用过cvs、svn等版本控制工具,现在cvs已经逐渐的被svn替代,今天我们就简单的说一下centos下面subversion的搭建。
首先,centos下默认会安装subversion,你可以通过这条命令来查看subversion是否安装
[shell]rpm -qa | grep subversion[/shell]
如果安装了,则会列出已经安装的subversion的版本信息。
如果没有安装则可以yum安装
[shell]yum -y install subversion[/shell]
安装之后,我们则需要开始搭建你的repository,也就是你的版本仓库。
[shell]mkdir /data/svn/repos1
svnadmin create /data/svn/repos1[/shell]
建立完仓库之后,我们进入配置文件文件夹
[shell]cd /data/svn/repos1/conf/[/shell]
编辑配置文件
[shell]vim svnserve.conf[/shell]
[shell][general]
anon-access = none
auth-access = write
password-db = passwd
#如果出现错误将下一行屏蔽
#authz-db = authz
realm = repos1[/shell]
再编辑用户文件
[shell]vim passwd[/shell]
在下面加入
[shell]username = password[/shell]
继续编辑权限文件
[shell]vim authz[/shell]
//创建一个名为svn的组,加入用户username
[shell]svn = username1,username2
//制定根目录下的权限
[/]
//svn用户组为读写
@svn = rw
* = r[/shell]
启动我们的版本服务
[shell]svnserve -d -r /data/svn[/shell]
也可以自己定义端口
[shell]svnserve -d -r /data/svn –listen-port 3690[/shell]
如果要定义多个版本库,需要修改端口。
可以自行查看svn的运行状况
[shell]ps aux | grep svnserve[/shell]
然后,就可以本地checkout版本了,地址为svn://ip/repos1

关掉svn服务[shell]
killall svnserve[/shell]
如果你要建立多个仓库这样做即可[shell]
mkdir -p /data/svn/repos1
mkdir -p /data/svn/repos2
svnadmin create /data/svn/repos1
svnadmin create /data/svn/repos2[/shell]
然后分别去各个仓库的conf文件夹下面编辑相关文件即可,然后再启动svn服务:[shell]
svnserve -d -r /data/svn/[/shell]
那么checkout的地址为:[shell]
svn://ip/repos1
svn://ip/repos2[/shell]

在这里还有个问题就是svn提交的时候将代码自动同步到网站目录下,例如你的其中一个仓库的地址为/data/svn/repos1,你希望你在svn提交到这个仓库的时候将代码自动同步到/data/apps/web/tencent/,这个时候我们需要用到钩子脚本,进入到这个目录[shell]
cd /data/svn/repos1/hooks
cp post-commit.tmpl post-commit[/shell]
然后[shell]
chmod u+x post-commit[/shell]
然后在post-commit脚本中加入[shell]
export LC_CTYPE=en_US.UTF-8
svn update /data/apps/web/tencent –username gaoxueping –password 123456[/shell]
在使用这个脚本之前,你首先要在你的网站目录下checkout一下,[shell]
cd data/apps/web/
svn checkout svn://ip/tencent[/shell]
这样你每次提交的时候都会自动同步到你的目标文件件。

Avatar photo

About Blackford

这是个最好的时代,这是个最坏的时代,这是个充满希望的春天,这是个令人绝望的冬天,我们前面什么都有,我们前面什么都没有。梦想,让我们一次次的走远,又一次次的回头,一个关于人生的梦想还在不断奔跑,带着喜悦和疼痛,不过一切才刚刚开始,并且直到今天也远远没有结束
This entry was posted in 架构运维 and tagged , , . Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用*标注