SVN作为新一代代码版本管理工具,有很多优点,管理方便,逻辑明确,安全性高,代码一致性高。SVN数据存储有两种方式,BDB(事务安全表类型)和FSFS(一种不需要数据库的存储系统),为了避免在服务器连接中断时锁住数据,FSFS是一种更安全也更多人使用的方式。SVN的运行方式也有两种,一种是独立服务器,另一种是借助apache服务,各有利弊,下面就介绍一下这两种方式各自的部署步骤。
1.作为独立服务器运行
#安装svn命令yum install subversion#创建svn目录mkdir -p /opt/svn#修改目录权限为777chmod -R 777 /opt/svn#创建一个svn版本仓库repos (repos 名字自己起)svnadmin create /opt/svn/repos
2.修改此目录下的三个配置文件
1) svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径#vim svnserve.conf修改一下几处:#anon-access = read#auth-access = write#password-db = passwd将这三行前面的 #号去掉,每行的最左边不能有空格,改成如下:anon-access = none //read改为noneauth-access = writepassword-db = passwdrealm = repos //改成自己的版本库
2) 修改authz 文件,创建svn组和组用户的权限#vim authz[group]repos = test,test1 //创建一个repos的组,并添加2个用户test,test1[/] //修改根目录下的权限@repos = rw //repos组用户的权限为 读写test = rw //test 用户的权限为读写* = r //其他用户的权限为只读
3)passwd 文件 创建或修改用户密码#vim passwdtest = test //用户名test的密码为testtest1 = test1 //用户名为test2的密码为test2
3.设置开机启动文件
1. 编辑/etc/rc.local文件内容如下(在touch /var/lock/subsys/local下面添加一行)#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don’t# want to do the full Sys V style init stuff. touch /var/lock/subsys/localsvnserve -d -r /opt/svn/repos
4.启动SVN服务
1.启动svn服务,svn服务默认端口为3690,可以使用“netstat -ntlp”命令查看服务启动是否成功:svnserve -d -r /opt/svn/repos如果已经有svn在运行,可以换一个端口运行svnserve -d -r /opt/svn/repos –listen-port 3391这样同一台服务器可以运行多个svnserve2.启动成功后就可以使用了a.建议采用TortoiseSVN, 连接地址为: svn://your server address (如果指定端口需要添加端口 :端口号b.或者用命令行连接: svn co svn://ip/连接上之后就可以使用了。