- 现在更多的公司已经转向 git 了,不过,svn 也是相当强大的,配置使用方面,比 git 要简单和容易上手一些。
- 强烈推荐使用 git,更强大更受欢迎,使用也越来越广泛。
- 关于 git 的使用,可以参考本博客的 git 系列文章。
安装
检查是否已安装
1
rpm -qa subversion
卸载旧版本
1
yum remove subversion
安装
1
yum install subversion
检查是否安装成功
1
svnserve --version
创建 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
2svnadmin 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
配置说明:
- [groups] 为组的配置,一个组可以有多个用户
- [crm.api:/] 项目访问权限设置,r 代表可读,w 代表可写, @dev 代表 dev 这个组。多个项目就有多个这样的配置,冒号前面就是项目名。