CentOS6.5下使用SVN实现多项目管理配置方案
#安装SVN服务器
yum install subversion
#在home下创建svn根目录
mkdir /home/svnroot
#在 /home/svnroot下创建Project1 , Project 2, Project3 三个项目文件夹,这三个文件夹要存放不同项目的SVN版本库。
#在 /home/svnroot中创建 CodeAuth 文件夹,该文件夹将保存 passwd 和authz文件。
mkdir /home/svnroot/CodeAuth
#创建项目
cd /home/svnroot
svnadmin create Project1
svnadmin create Project2
svnadmin create Project3
分别创建了三个项目的版本库,版本库目录conf中存在passwd 、authz、和 svnserve.conf 文件
passwd – 用于存放本svn库的用户名和密码
authz – 存放本svn库的访问授权信息
svnserve.conf 文件为存放本svn库的全局访问控制信息
#将passwd 、authz文件拷贝到/home/svnroot/CodeAuth中,将三个项目下conf目录中的passwd 和 authz文件删除.
#修改 三个项目中conf目录下的svnserve.conf 文件,可以修改一个项目下的svnserve.conf 文件,然后把它覆盖到其他两个项目下的svnserve.conf 文件。
svnserve.conf 修改为
1 2 3 4 5 6 7 8 9 |
[general] anon-access = none auth-access = write password-db = /home/svnroot/CodeAuth/passwd authz-db = /home/svnroot/CodeAuth/authz |
#修改/home/svnroot/CodeAuth下的passwd文件为
[users]
admin=admin001
#修改/home/svnroot/CodeAuth下的Authz文件为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
[groups] admin_group=admin [Project1:/] @admin_group=rw *= [Project2:/] @admin_group=rw *= [Project3:/] @admin_group=rw *= |
#说明:
“*” 是指所有人,“=” 后面表示权限。
“=”后面有3种情况
空:表示没有任何权限
r:表示只读权限
rw:表示读写权限
如:
* =
user1 = r
user2 = rw
这三行合起来就表示user1这个用户拥有只读权限,user2这个用户拥有读写权限,除此之外的其他人员没有任何权限。
#启动SVN服务
svnserve -d -r /home/svnroot
#关闭SVN服务
killall svnserve
#客户端软件TortoiseSVN浏览方法:
打开版本库浏览器输入:svn://ip-addr/Project1