SVN是Subversion的简称,是一个开放源代码的版本控制系统,用于多个人共同开发同一个项目,共用资源的目的。
环境:CentOs6.1
查看是否安装了svn工具:rpm -qa | grep subversion (查看版本:svnserve –version)
(未安装的可以用yum install subversion 安装)
1、建立SVN的根目录
1 | mkdir -p /opt/svn/tshop/ |
2、建立一个产品仓库
1 | svnadmin create /opt/svn/tshop/ |
如果你们的研发中心有多个产品组,每个产品组可以建立一个SVN仓库
目录用途说明:
1 | hooks目录:放置hook脚本文件的目录 |
3、修改版本配置库文件
1 | vi /opt/svn/tshop/conf/svnserve.conf |
对用户配置文件的修改是立即生效的,不必重启svn。
4、开始设置passwd用户账号信息
1 | vi /opt/svn/tshop/conf/passwd |
1 | [users] |
5、开始设置authz. 用户访问权限
1 | vi /opt/svn/tshop/conf/authz |
1 | [groups] |
6、注意:
权限配置文件中出现的用户名必须已在用户配置文件中定义。
对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
= ,
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
- [/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svn/tshop,[/]就是表示对全部版本库设置权限。
- [tshop:/] 表示对版本库tshop设置权限;
- [tshop:/abc] 表示对版本库tshop中的abc项目设置权限;
- [tshop:/abc/aaa] 表示对版本库tshop中的abc项目的aaa目录设置权限;
- 权限主体可以是用户组、用户或,用户组在前面加@,表示全部用户。
- 权限可以是w、r、wr和空,空表示没有任何权限。
7、启动svn:
1 | svnserve -d -r /opt/svn/tshop #默认的启动端口号为3690 |
8、检查是否启动:
1 | netstat -tunlp | grep svn |
或
1 | ps –ef | grep svn |
9、将svn加入到开机启动
编辑rc.local文件:
1 | vi /etc/rc.d/rc.local |
加入并保存如下启动命令:
1 | /usr/local/svn/bin/svnserve –d --listen-port 3690 -r /opt/svn/tshop |
10、如果想停止svn,则使用如下命令:
1 | killall svnserve |
或
1 | pkill svn |
11、如果想将svn作为服务:
在/etc/rc.d/init.d/目录下新建名为svn的文件:
1 | touch /etc/rc.d/init.d/svn |
并设置权限为755:
1 | chmod 755 /etc/rc.d/init.d/svn |
编辑svn文件:
1 | vi /etc/rc.d/init.d/svn |
在里面添加如下代码:
1 |
|
保存,之后便可以以service svn start(restart/stop)方式启动SVN。
至此,svn服务器配置完毕。
下一篇将讲解如何在客户端上使用svn。