linux与 windows环境的Subversion版本控制企业架构搭建之svn协议

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

检出记录

wKioL1ZSejLhO3rkAAGPxjZXa4Y325.png

如上图所示:

文件夹单击[SVN Checout]

wKiom1ZSekfAQgK9AACWEWI7Ysg716.png

填入检出路径:"svn://user1@10.168.0.176/var/local/svn/"

以上内容意义:

协议:svn://

用户名:user1

路径:10.168.0.176/var/local/svn/

wKiom1ZSel7gCeYbAAFtERgUZLA353.png

如上图所示:

文件检出中……









本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1715856,如需转载请自行联系原作者

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/462982

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。