前言
svn服务的安装与配置并不复杂,只是看样子有点乱,我们可以试着让它看起来更加整齐、简单一些,这篇将会教你如何优雅的使用svn管理项目。
在我的SVN服务的搭建(一)中已经可以正常的使用svn去管理我们的项目,这篇我将介绍如何优雅的去管理多个svn项目
在svn目录下创建不同的仓库
svnadmin create project1
svnadmin create project2
svnadmin create project3
分别配置三个仓库中conf目录下的svnserve.conf
anon-access = none
auth-access = write #授权用户可写
password-db = /var/svn/conf/passwd #使用哪个文件作为账号文件 统一使用密码文件
password-db = /var/svn/conf/authz #使用哪个文件作为权限文件
realm = project1 # 认证空间名,版本库所在目录 权限域名,很重要,写你的工程名
创建在password-db与password-db配置的路径中使用的 文件夹及文件
mkdir /opt/svn/conf
cp /opt/svn/project1/conf/authz passwd /opt/svn/conf
修改/opt/svn/conf下的两个文件,统一配置所有项目
- 修改passwd文件,把所有项目用到的用户统一配置在这个文件中
vim passwd
[users]
#项目一的用户
user1 = 123
#项目二的用户
user2 = 123
#项目三的用户
user3 = 123
- 修改authz文件,统一配置每个项目的用户所拥有的权限
vim authz
#为用户分组
[groups]
admin = user1,user2
guest = user3,user2
#为每个项目分配用户及权限
[目录/project1:/] #项目1的访问控制,guest无法访问
@admin = rw
[project2:/] #项目2的访问控制
@guest = rw
[project3:/] #项目3的访问控制
@admin = rw
@guest = r
对passwd与authz这两个文件的修改立即生效,不需要重启svn服务。
如果你不相信,或者你是强迫症患者,附上重启svn服务的代码
/usr/bin/svnserve -d -r /var/svn/
不要使用系统提供的
/etc/init.d/svnserve start
来启动,因为系统默认的启动脚本中没有使用 –r /svn/project参数指定一个资源。这种情况下启动的svn服务,客户端连接会提示“svn: No repository found in ‘svn://ip/project’ ”这样的错误。
总结一下
经过上面的修改如果我们要增加一个svn仓库,并完成配置,只需要一下几个命令:
svnadmin create svn/project
# 配置poject/conf/svnserve.conf
# 配置svn/conf/passwd
# 配置svn/conf/authz
# 完成
经过上面的介绍,相信你们对svn项目的管理和配置有初步的了解,如果你有问题,请在下方留言
持续更新中。。。。
在一个崇高的目标支持下,不停地工作,即使慢,也一定会获得成功。