SVN:多版本库环境的搭建
一、
1,启动SVN
sudo svnserve -d -r /home/data/svn/
其中 -d 表示守护进程, -r 表示在后台执行
/home/data/svn/ 为svn的安装目录
2,关闭SVN
这里采取linux杀死进程的方式处理的
ps -ef|grep svnserve
root 4967 1 0 Aug23 ? 00:00:00 svnserve -d -r repository/
这里 kill -9 4967杀死进程, 此4967为进程号
二、
1. 服务器的确定
2. 配置管理工具的确定(SVN)
3. 建版本库的根目录,如下图所示,svnroot根目录下有project1和project2两个库
4. 创建第一个项目project1,命令:svnadmin create E:\svnroot\project1
5. 创建第二个项目project2,命令:svnadmin create E:\svnroot\project2
6. 为了便于管理,将所有版本库的密码和权限设置在同一个文件下面,操作步骤如下:
6.1 取出project1下面conf文件夹下的authz和passwd两个文件到svnroot根目录下面
6.2 修改每个版本库目录conf文件夹下面的svnserve.conf文件, 将
# anon-access = read ,#auth-access = write ,# password-db = passwd,#authz-db = authz 修改为:
anon-access = none ,auth-access= write,password-db = ../../passwd,authz-db = ../../authz
(password-db = ../../passwd,authz-db = ../../authz代表相对路径而非绝对路径)
7. 定义一下几个角色用来测试
7.1 配置管理员(svnadmin),用来管理整个库
7.2 项目经理(manage),用来相关管理文档
7.3 开发人员 (dev),测试开发是否正常
8. 下面添加角色
打开svnroot目录下的passwd文件,创建方法是在[user]下面添加 username = passwd,记得“=”前后的空格,如下图:(svnadmin控制所有项目,统一管理)
9. 为角色分配权限:假设(quxin是project1的项目经理,huzhixin是project2的项目经理,dev1、dev2是project1的开发人员,dev3、dev4是project2的开发人员,test1是project1的测试人员,test2是project2的测试人员)
库目录及具体权限如下图所示:
库目录 权限分组:
具体权限:(根目录下,svnadmin拥有所有权限,其他人只有读权限,要设置子目录权限,
需设置子目录上级的权限方可,设置个别文件权限如下:)
启动SVN服务,可在dos命令里启动,也可把SVN服务安装在服务管理里面
把服务在DOS命令里启动方法:svnserve –d –r E:\svnroot
如若把服务安装在服务管理里面,简单的办法,下载一个SVNService.exe文件,放到subversion安装目录的bin文件夹下面,然后在dos命令里运行,
运行方法如下: SVNService –install –d –rE:\svnroot
10. 安装客户端,连接服务器到要访问的库,假如访问project1:svn://172.16.26.28/project1 ,用同样的方法访问project2,依次类推到更多的版本库项目。
11. 工具
SVN 服务器端:Subversion 1.5 ,客户端 TrotoiseSVN 1.5
12. 下载地址:www.iusesvn.com ,你需要注册方可进入下载去下载相关版本的工具。
13. 相关角色的定义
配置管理员 CM
整个配置管理库由配置管理员管理。配置管理员负责分配和修改其他成员的权限,要维护所有目录和配置项。
项目经理
开发经理在本项目中负责主导完成需求分析和系统总体设计,对项目的总体进度负责。开发经理拥有对管理类文档的读取权限,可以对项目类文档进行读写操作;
开发组长
开发组长对本小组的工作负有组织和管理任务,同时开发组长也需要承担一定的开发任务。开发组长对管理类文档有读取权限,对本组负责的模块有读取权限,对自己负责的模块有读写的权限;
开发工程师
开发工程师完成具体的开发任务,对自己负责的模块目录有读写权限,对管理类文档有读取权限;
测试组长
测试组长负责组织测试,给出测试计划和测试方案,并核定测试报告。测试组长对所有目录都有读取权限,对测试目录有读写权限;
测试工程师
测试工程师负责完成测试工作,包括测试用例开发和测试执行,测试报告编写。测试工程师对自己负责的模块有读取权限,对测试用例目录有读写权限。
QA工程师
QA工程师拥有对所有目录的读取权限,拥有对QA类文档目录的读写权限。
高层经理
高层经理负责部门及各个项目的协调工作。对部门公共库PUB有读写权限,对各项目有读取权限。