您的位置:首页 > 其它

快速部署svn

2015-09-12 21:09 309 查看
一、svn简介
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。
二、SVN运行方式
借助http服务
使用svn+apache
使用CSVN



三、优缺点
所有的文档都显示SVN可以取代CVS,同时SVN的问题和缺点都被隐藏了。不幸的是,我们并不认为SVN是CVS的替代品,尽管很多缺陷都被修改了。更有甚者,它甚至让人重回CVS。CVS和SVN的比较类似于比较C++和Java。很明显CVS和SVN都远比SourceSafe强大的多,如同C++和Java比Basic强大的多。CVS代表了几乎代码控制系统的所有功能项,尽管有时他的实现并不很方便。SVN修正并添加了一些CVS并不拥的有功能。例如,创建标志和分支dubious,你在编辑文件时其他人不会有任何通知。SVN并不是CVS的替代品,只是个不同的系统,类似于CVS。它有些特有的功能,足以作为采用它的理由。这些功能使他更适合于开发环境,例如对PowerBuilder。下面你可以找到两者的相对优势、劣势。
四、svn的服务端搭建实战

1、查看系统版本
[1 root@mouse ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)
[2 root@mouse ~]# uname -r
2.6.32-504.el6.x86_64
[3 root@mouse ~]# uname -m
x86_64
2、准备软件包
Centos6.6如果安装了Development Tools包组,就已经安装了subversion1.6的软件包
[4 root@mouse ~]# rpm -qa|grep subversion
subversion-1.6.11-10.el6_5.x86_64
如果没有,可以通过yum安装,或者源码安装
yum install subversion -y
3、创建svn数据根目录
mkdir -p /server/svndata
4、创建并初始化项目数据仓库
[5 root@mouse ~]# mkdir /server/svndata/{sadoc,final_arch,svnpass} -p
#其中sadoc和final_arch是svn仓库,相当于多个项目;svnpass用于单独管理passwd和authz密码授权
创建初始化svn仓库数据

[6 root@mouse ~]# svnadmin create /server/svndata/final_arch/
[7 root@mouse ~]# svnadmin create /server/svndata/sadoc

查看目录结构
[8 root@mouse ~]#tree -L 1 /server/svndata/final_arch/
/server/svndata/final_arch/
|-- README.txt
|-- conf  #配置文件
|-- db  #数据库文件
|-- format  #格式相关
|-- hooks  #钩子脚本,用于控制svn相关行为,比如权限,动作等
`-- locks  #数据库的锁
5、配置密码文件
将svn repo中conf的authz和passwd文件cp一份到/server/svndata/svnpass中:

[9 root@mouse ~]# mv /server/svndata/final_arch/conf/{authz,passwd} /server/svndata/svnpass/
6、修改svn repo的配置文件
[11 root@mouse ~]# grep -vE "^#|^$" /server/svndata/sadoc/conf/svnserve.conf
[general]
anon-access = none #控制匿名用户访问权限
auth-access = write #授权用户可读写
password-db = /server/svndata/svnpass/passwd #将密码文件指定到我们自己的密码文件
authz-db = /server/svndata/svnpass/authz #将授权文件指定到我们自己的授权文件
realm = sadoc #验证,填写项目名
[sasl] #用于配置使用sasl验证时的参数选项
7、编辑密码文件和授权文件:
[19 root@mouse svnpass]# pwd
/server/svndata/svnpass
[20 root@mouse svnpass]# cat passwd
[sadoc:/]
maker = rw
[final_arch:/]
maker = rw
8、创建日志目录
mkdir /app/logs/svn/ –p
9、启动svn服务并检测服务启动

[24 root@mouse svnpass]# svnserve -d -r /server/svndata/ --log-file /app/logs/svn/access.log --pid-file /var/run/svnserve.pid
-r:指定svn根目录,如果是单项目可以直接指定到repo目录;如果是多项目,就指定到repo的上级目录
--log-file:指定日志文件
--pid-file:制定pid文件,方便管理
-d:守护进程方式执行
检测服务启动
[25 root@mouse svnpass]# netstat -tupln|grep svnserve
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      3327/svnserve
四、客户端的使用,window使用较为简单,此处不再演示,详情请看二麻运维http://www.trnux.com/linux/384/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: