1、前言
1.1、需求和目的
公司要求引入版本管理服务器对两大对象进行管理:
1)针对windows环境的开发人员的源代码做版本控制。
2)针对linux服务器的配置文件做版本控制。
本章将使用svn协议的方式完成文件的版本控制。
如果有linux系统建议参阅:
http://cmdschool.blog.51cto.com/2420395/1710315
1.2、系统架构模式描述
1)linux的服务器端
服务器端通过ssh协议提供版本控制服务(port:tcp3690)
2)windows的客户端
windows以开发者版本控制客户端的角色出现
2、理论部分
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。
3、实践部分
3.1、主机信息
svnSer:
ipaddress=10.168.0.176
hostname=svnSer
windows Client:
ipaddress=10.168.0.x
hostname=will2
3.2、yum包的安装
In svnSer & Linux Client
1
|
yum -y
install
subversion
|
其他包安装:
1
|
yum -y
install
tree
|
3.3、linux服务端、客户端的配置
3.3.1、step1
In svnSer:
定义仓库文件夹:
1
2
3
|
svnadmin create
/var/local/svn
ls
/var/local/svn
tree
/var/local/svn
|
注意"revprops"节点(版本控制内容)
3.3.2、step2
In svnSer:
定义权限控制(非必须)
1
2
3
4
5
6
7
|
ll
/var/local/svn
groupadd -g 5000 svngroup
chgrp
-R svngroup
/var/local/svn
ll
/var/local/svn/db/
chmod
g+w -R
/var/local/svn/db/
chmod
o= -R
/var/local/svn/db/
ll
/var/local/svn/db/
|
定义只有svngroup组对“/var/local/svn/db/”有写的权限,其他用户没有任何权限
3.3.3、step3
In svnSer
启动服务和默认开机启动
/etc/init.d/svnserve restart
chkconfig svnserve on
3.3.4、step4
开启防火墙:
vim编辑/etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
重启防火墙:
1
|
/etc/init
.d
/iptables
restart
|
3.3.5、step5
In svnSer:
vim修改/var/local/svn/conf/svnserve.conf
1
2
3
4
5
6
7
|
[general]
anon-access = none
auth-access = write
password-db =
passwd
authz-db = authz
[sasl]
|
将anon-access修改为等于none
3.3.6、step6
In svnSer:
定义svn用户名和密码:
vim修改/var/local/svn/conf/passwd
1
2
3
4
|
user1 = passwd1
user2 = passwd2
user3 = passwd3
user4 = passwd4
|
注:密码可以是任意字符(引号等特殊字符符也一样,都被识别为密码的字符)
3.3.7、step7
In svnSer:
定义svn的组、组成员和目录的组权限:
vim修改/var/local/svn/conf/authz
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[aliases]
[
groups
]
gp1_rw = user1,user2
gp1_r = user3
gp2_rw = user4
gp2_r =
[/]
@gp1_rw = rw
@gp1_r = r
[
/dir2
]
@gp2_rw = rw
@gp2_r = r
|
[groups]下定义组、组成员
[/]表是定义跟目录的权限
[/dir2]表是定义跟目录下的子目录dir2的权限
@组名=rw表是组有读写权限
@组名=r表是组只有读的权限
3.3.8、step8
In svnSer:
启动服务:
1
|
/etc/init
.d
/svnserve
restart
|
3.4、windows客户端的配置
In windows Client:
3.4.1、step1
下载并安装svn
1)下载并安装
下载地址:
http://tortoisesvn.net/downloads.html
由于windowsn的安装都是无师自通,本教程省略。
3.4.2、step2
检出记录
如上图所示:
文件夹单击[SVN Checout]
填入检出路径:"svn://user1@10.168.0.176/var/local/svn/"
以上内容意义:
协议:svn://
用户名:user1
路径:10.168.0.176/var/local/svn/
如上图所示:
文件检出中……