快速部署svn
2015-09-12 21:09
309 查看
一、svn简介
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。
二、SVN运行方式
借助http服务
使用svn+apache
使用CSVN
![](http://a.hiphotos.baidu.com/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30/sign=3c127e50a3cc7cd9ee203c8b58684a5a/d1160924ab18972b44ba6577e6cd7b899f510a8e.jpg)
三、优缺点
所有的文档都显示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、查看系统版本
Centos6.6如果安装了Development Tools包组,就已经安装了subversion1.6的软件包
创建初始化svn仓库数据
查看目录结构
将svn repo中conf的authz和passwd文件cp一份到/server/svndata/svnpass中:
--log-file:指定日志文件
--pid-file:制定pid文件,方便管理
-d:守护进程方式执行
检测服务启动
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。
二、SVN运行方式
借助http服务
使用svn+apache
使用CSVN
![](http://a.hiphotos.baidu.com/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30/sign=3c127e50a3cc7cd9ee203c8b58684a5a/d1160924ab18972b44ba6577e6cd7b899f510a8e.jpg)
三、优缺点
所有的文档都显示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_642、准备软件包
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 -y3、创建svn数据根目录
mkdir -p /server/svndata4、创建并初始化项目数据仓库
[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 = rw8、创建日志目录
mkdir /app/logs/svn/ –p9、启动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/
相关文章推荐
- iPhone 6s今起预订 教你如何买买买
- 详细描述求最长公共子序列算法
- TopCoder SRM667 250
- 如何禁止搜索引擎收录网站内容
- sql server 分页查询以及区间查询
- KE 时钟
- Android开发之路(二)--浅析MVC开发模式
- Terrain maps
- C++ Primer第九章课后编程问题
- django模板的使用方法
- winmgmt服务不存在或已标记为删除・windows management instrumentation这个服务无法启动
- IOS 调用系统键盘 设置搜索字段和事件
- 广义表的head与tail的基本用法
- 设计模式4:装饰模式(1)
- 【HTML】常用跨域技术
- POJ 3130 How I Mathematician Wonder What You Are!(半平面交求多边形的核)
- HDU1231 最大连续子序列
- 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。
- 通过gdb快速定位“段错误”的位置
- zxing实现二维码解析和生成