• 现在更多的公司已经转向 git 了,不过,svn 也是相当强大的,配置使用方面,比 git 要简单和容易上手一些。
  • 强烈推荐使用 git,更强大更受欢迎,使用也越来越广泛。
  • 关于 git 的使用,可以参考本博客的 git 系列文章

安装

  1. 检查是否已安装

    1
    rpm -qa subversion
  2. 卸载旧版本

    1
    yum remove subversion
  3. 安装

    1
    yum install subversion
  4. 检查是否安装成功

    1
    svnserve --version
  5. 创建 svn 代码存放目录 /opt/svn

    1
    mkdir -p /opt/svn

打开 svn 服务

1
svnserve -d -r /opt/svn

也可指定 svnserve 的目录执行

1
/usr/bin/svnserve -d -r /opt/svn

checkout 项目路径:svn://[服务器 ip 或域名]/[项目名],如:svn://192.168.1.123/projectName

结束 svn 服务进程

killall svnserve

centOS 开机自动启动SVN服务的方法

1、编辑rc.local文件
vi /etc/rc.d/rc.local
2、加入如下启动命令

1
2
#/usr/bin/svnserve -d -r /opt/svn
svnserve -d -r /opt/svn

多项目管理

创建一个项目,并编辑项目的配置文件,将认证信息和权限信息指向 svn 根目录下的两个公共文件。

1
2
svnadmin create /opt/svn/crm.api
vi /opt/svn/crm.api/conf/svnserve.conf

改成如下

1
2
3
4
5
6
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/passwd
authz-db = /opt/svn/authz
realm = crm.api

用户及密码配置以及权限设置

用户及密码设置

1
vi /opt/svn/passwd

按如如下格式添加/设置用户名及用户密码,等号后面即是密码

1
2
3
4
5
6
7
[users]
adminAndy = adminAndy
adminJack = adminJack
devTom = devTom
devJerry = devJerry
testerRose = testerRose
testerElsa = testerElsa

组设置及项目的权限配置

1
vi /opt/svn/authz

改成

1
2
3
4
5
6
7
8
9
[groups]
admin = adminAndy,adminJack
dev = devTom,devJerry
tester = testerRose,testerElsa

[crm.api:/]
@dev = rw
@admin = rw
@tester = r

配置说明:

  1. [groups] 为组的配置,一个组可以有多个用户
  2. [crm.api:/] 项目访问权限设置,r 代表可读,w 代表可写, @dev 代表 dev 这个组。多个项目就有多个这样的配置,冒号前面就是项目名。