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

yum -y install subversion

其他包安装:

yum -y install tree

3.3、linux服务端、客户端的配置

3.3.1、step1

In svnSer:

定义仓库文件夹:

svnadmin create /var/local/svn
ls /var/local/svn
tree /var/local/svn

注意"revprops"节点(版本控制内容)

3.3.2、step2

In svnSer:

定义权限控制(非必须)

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

重启防火墙:

/etc/init.d/iptables restart

3.3.5、step5

In svnSer:

vim修改/var/local/svn/conf/svnserve.conf

[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

user1 = passwd1
user2 = passwd2
user3 = passwd3
user4 = passwd4

注:密码可以是任意字符(引号等特殊字符符也一样,都被识别为密码的字符)

3.3.7、step7

In svnSer:

定义svn的组、组成员和目录的组权限:

vim修改/var/local/svn/conf/authz

[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:

启动服务:

/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://[email protected]/var/local/svn/"

以上内容意义:

协议:svn://

用户名:user1

路径:10.168.0.176/var/local/svn/

如上图所示:

文件检出中……

----------------------------------------------------------

参阅资料:

yum安装方法:

http://subversion.apache.org/packages.html#centos

putty下载地址:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

windows与服务器的通讯设置:

http://wenku.baidu.com/link?url=Awhja8vSOiH5_1yNC15p6yfmsQ0ZqQYp8s1avx7rAR71jaX0YHgQQgRFc82IViuXgioyzTtfXp5PTeDnSrtGu1ceRTUuRn1GtCxPOPxnkAu

svn权限控制:

http://blog.csdn.net/jenminzhang/article/details/8665612

认证失败的解决方案:

http://blog.sina.com.cn/s/blog_4b93170a0100leb2.html

apache mod_dav_svn的使用方法:

http://www.uml.org.cn/pzgl/200908078.asp

备份和迁移:

http://www.iitshare.com/linux-svn-migration.html

时间: 2024-07-29 20:39:57

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

Yii,Linux与windows环境下面的不同

其实与其说是不同 倒是可以说是需要注意的地方 1. Linux下面,Model Component 等...在调用的时候要注意大小写.. 下面一段就会报错 1 class LinkController extends Controller 2 { 3 4 public function actionMain() 5 { 6 $dataProvider = new CActiveDataProvider('links', array( 7 'pagination' => array( 8 'pag

在linux与windows环境下配置JDK

一.准备     下载新版JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 所有版本请戳:http://www.oracle.com/technetwork/java/archive-139210.html 二.安装与配置     先说说在linux环境下.为了方便,以下操作均以root用户执行 jdk有3种形式的包,分别是rpm,rpm.bin,tar.gz,下面分别说     1. 这里我下载jdk-

windows环境下简单Jenkins持续集成搭建

Jenkins是基于Java开发的持续集成工具,所以在安装Jenkins之前我们要确定电脑上已经安装了Java JDK并且环境变量配置正确,否则在启动使用java -jar Jenkins.war启动jenkins时,由于没有Java环境,将提示java非内部命令,无法启动. java版本:jdk-8u162-windows-i586 jenkins版本:Jenkins 2.89.3 (这里遇到了个坑,java装的java9,启动jenkins之后创建新项目时报错,出现下面图片,由于java版本

[原创]python MySQLdb在windows环境下的安装、出错问题以及解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载. 问题:windows下安装MySQLdb的方法 解析:python没有php那种集成环境,比如wamp那种集成软件直接把所有需要的东西全部一次性搭建好,但是python也有好的就是在linux环境下特别的简单方便,只是windows下麻烦点啦!但是只要大家去努力不要放弃,还是能成功的:最为windows环境的我,为了python搭建环境我也会各种百度谷歌找了很多博文以及其他文章,苦恼! 注释:其实也很简单,只是大家刚开始接触,还不太明白而已,

mysql、oracle在Linux和Windows下的简单自动备份

前面一段时间已经安装好了mysql.oracle等常用数据库,但是数据库在使用时必须做到定时备份,这样能够在数据库出现问题时及时恢复到可用状态.那么下面我们就在Linux和Windows环境下测试使用mysql和oracle的自动备份脚本. 1.Linux环境下 #!/bin/sh # Database info DB_USER="" DB_PASS="" DB_HOST="" DB_NAME="" # Others vars

Linux usb子系统(一):子系统架构

摘自:http://www.360doc.com/content/15/0519/05/22854460_471598740.shtml 摘自:https://www.cnblogs.com/cslunatic/p/3726053.html Linux usb子系统(一):子系统架构 一.USB协议基础知识   前序:USB概念概述 USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB)  USB2.0版本速度480Mbps(高速USB). USB 分为

企业数据云备份——七牛云(linux、windows)

                                                 企业数据云备份--七牛云(linux.windows) 一.七牛云介绍 七牛云,在国内是一个比较出名云平台,很多人.公司,或多或少也使用过七牛云来备份文件.对七牛云来说,它主要给用户提供了无限制的空间,稳定性,且最主要的,它提供了用户的备份的工具--qshell,可在多系统中应用的它,不失为一种很好的数据备份方法. 七牛云的使用也是比较简单,只有你创个账号就可以了,然后获取到AK.SK的密钥就可以了

linux和windows中环境变量设置常用命令

Linux和Windows下查看环境变量方法 一.查看所有环境变量的名称和值: Linux下:export Windows下:set 二.根据名称查该环境变量的值: Linux下:echo $环境变量名 如:echo $ORACLE_HOME Windows下:set环境变量名 如:set $ORACLE_HOME 三.设置环境变量: Linux下:export环境变量名=值 如:$export ORACLE_HOME=/home/oracle/product/10.2.0 Windows下:s

配置类似 Linux 的 Windows命令提示符工作环境

Linux 的 Shell 环境很好用,很方便.能不能在 Windows 上延续这种使用习惯呢? 1.命令行工具准备 来自http://www.git-scm.com/download/win 的 Git for Windows, 安装后提取所有的东西(目录理由/bin./etc./usr./mingw等等,大部分文件在\usr\bin以及mingw\bin下面)放到某个目 录(比如 C:\Posix\ )下面,结构么,我是C:\Posix\bin 下有bash.exe.git.exe 和 sh