Centos使用SVN
聪头 游戏开发萌新

使用Centos 7系统搭建SVN仓库,实现版本控制。

目前的规则是:一个项目对应一个仓库,一个仓库对应一个端口(从默认的3690开始)。对于用户和权限的配置部分已经推荐和每个仓库独立,集中管理,避免每次新建仓库需要重新编写用户和权限配置。


主要参考:

其他参考:

说明:在vim内使用:set paste可以使得换行不带#

Centos 创建SVN仓库

一、准备工作

1.检查是否安装过SVN

1
rpm -qa subversion

2.查看SVN版本

1
svnserve --version

3.卸载SVN

1
yum remove subversion

二、安装

1
yum -y install subversion

三、创建仓库目录

1
mkdir -p /root/svn/repository

四、创建SVN版本库

1
svnadmin create /root/svn/repository

五、SVN服务的配置文件svnserver.conf

1
2
3
cd /root/svn/repository/conf

vim svnserver.conf

每个仓库单独配置:在conf/svnserver.conf[general]下面增加如下代码

1
2
3
4
5
6
7
8
9
10
# 匿名用户访问无权限,权限可以是read、write、none,默认为read
anon-access = none
# 授权用户有写权限
auth-access = write
# 密码数据库的路径
password-db = passwd
# 访问控制文件
authz-db = authz
# 认证命名空间,即版本库所在目录
realm = /root/svn/repository

多个仓库共用配置 (推荐)

  • 删除conf的authz和passwd
  • 修改svnserve.conf
1
2
3
4
5
6
7
8
9
10
# 匿名用户访问无权限,权限可以是read、write、none,默认为read
anon-access = none
# 授权用户有写权限
auth-access = write
# 密码数据库的路径
password-db = /root/svn/conf/passwd
# 访问控制文件
authz-db = /root/svn/conf/authz
# 认证命名空间,即版本库所在目录(根据实际情况填写)
realm = /root/svn/repository

六、配置用户密码

1
2
3
cd /root/svn/repository/conf

vim passwd

conf/passwd[user]下添加

1
2
3
4
5
6
7
8
9
10
11
# 管理员
lzc=123456
# test_admin1=123456

# 后台开发人员
# test_busi1=123456
# test_busi2=123456

# 前台开发人员
# test_ui1=123456
# test_ui2=123456

七、配置用户授权authz

1
2
3
4
cd /root/svn/repository/conf

# 最后面增加如下代码
vim authz

conf/authz[groups]下添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 管理员组
admin = lzc
#admin = test_admin1
# 后台业务开发组
#busi = test_busi1,test_busi2
# 前台界面开发组
#ui = test_ui1,test_ui2

# 跟目录授权给admin组。管理员具有所有目录权限
# r读,w写,rw读写,空没有权限
[/]
@admin = rw

# 后台人员具有读写权限
# [/demo/busi]
# @busi= rw

# 前台人员具有读写权限
# [/demo/ui]
# @ui = rw

# 接口文档,后台人员后读写权限,前台人员只有读权限
# [/demo/doc]
# @busi= rw
# @ui = r

#表示demo仓库根目录(/svn/demo/)
#[demo:/]

八、启动SVN

-d 表示作为一个单独的守护进程运行

-r 表示发布版本库路径

默认端口3690

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 查看进程
ps -ef|grep svnserve

# 停止
killall svnserve

# 启动
svnserve -d -r /root/svn/repository

# 修改端口
1.第一种方法:
svnserve -d -r /root/svn/repository --listen-port 端口号

2.第二种方法:
svnserve -d -r /root/svn/repository --listen-host IP+端口号

九、设置开机启动

1
systemctl enable svnserve.service

十、使用TortoiseSVN客户端进行连接

1
svn://ip

补充1:使用SVN检出(Linux)

1
2
3
4
5
6
#co:checkout
#--username:用户名
#--password:密码
#svn://192.168.1.108/school,svn版本库的存放文件的目录-->源地址
#mySvnProject/:检出文件后存放目录-->目标地址
svn co --username admin --password admin svn://192.168.1.108/school mySvnProject/

补充2:只用一个端口,一个仓库

暂时无法做到只使用一个端口,一个仓库,对所有项目进行管理

 评论