centos搭建svn

在实际项目应用中,主要存在三个问题:

1)协作开发(多人同时开发一个项目)

2)异地开发(开发者可能不在同一个地区)

3)版本回退(源代码返回到最初的某个状态)


解决方案:

scmsoftwareconfiguration management):软件配置管理

软件配置管理:所谓的软件配置管理实际就是对软件源代码的管理。

 

基于scm出现了很多优秀的产品:

cvs版本控制软件:很古老的版本控制软件,也被称之为开源奇葩产品

vss版本控制软件:微软公司开发的基于Windows平台的版本控制软件,入门简单

clearcase版本控制软件:IBM公司的产品,功能非常强大,但是学习门槛高,而且是收费软件,但是其有良好的技术支持

svn版本控制软件:目前主流的版本控制软件


SVN执行流程

SVN属于C/S结构软件,分为两端:服务器端与客户端

1)配置SVN服务器,安装SVN服务器端软件

2)创建一个项目(在SVN中项目也称之为仓库),主要由SVN服务器完成

3)由项目经理开发项目的核心框架(如:Application.class.php)

4)在客户端计算机安装SVN客户端软件(TortoiseSVN)

5)与服务器端软件建立连接服务(第一次牵手),称之为Checkout(检出)

Checkout在应用中只在第一次链接时运行一次,主要执行两个工作

①连接SVN服务器②把服务器端的代码更新到本地

6)把本地的源代码上传到服务器端(Commit提交指令)

7)告之SVN服务器地址给其他程序猿

8)安装客户端软件,安装完成后,通过Checkout指令连接并下载服务器端的源代码到本

9)程序猿编写项目模块

10)然后使用客户端软件Commit提交本地代码到服务器端

11)项目经理可以通过Update指令下载服务器端的最新文件到本地(查看项目进度


通过以上流程可知:SVN常用的指令只有三个:

Checkout(检出指令),只在第一次链接时使用,以后都不会使用

程序猿每天需要执行的两个指令就是Commit与Update,一般是上班Update,下班Commit

Commit(提交指令)

Update(下载指令)


SVN服务器端软件的安装与配置


首先rpm-qa|grepsubverson一下看看有没有装过,装了的删掉就好

centos可以使用yum源安装,redhat系列则需要使用RPM安装

这里我们使用yum安装

yum install subversion

centos搭建svn_第1张图片

创建仓库目录

使用mkdir命令进行文件夹创建

mkdir /usr/share/nginx/svn

wKiom1axzaXg6dp5AAAJZVeqv54384.png

然后创建项目

svnadmin create /usr/share/nginx/svn

wKioL1axzf2w1S8aAAAN6hI6rPY663.png

检查是否创建成功

centos搭建svn_第2张图片

conf目录可以看到配置文件,有英文注释,可以读一下

打开svnserve.conf关闭匿名用户的访问权限

wKioL1ax0UPSuugsAAAK47ztaBQ460.png

开启认证文件

wKiom1ax0SDRuAfVAAAQ0WCjmPA160.png

开启授权文件

wKiom1ax0WLjBSSYAAAUQNUJwfk293.png

这里需要注意,删除注释符之后要把代码回删,使其顶格,否则会报语法错误。

打开passwd来设置密码

centos搭建svn_第3张图片

然后进行用户设置,配置用户组

任何一个用户都需要配属分组,每个分组可以设置不同权限

centos搭建svn_第4张图片

这里给了三个用户组,分别是manager、server、client

每个组只给了一个用户,如果有多个用户使用逗号隔开

wKioL1ax00zxmNZXAAATfLq-CQM926.png

这里 r代表可读 w代表可写,rw即可读写


下来就是配置svn的自动启动并查看是否启动成功

wKiom1ax067CZu8HAAAbL6SY1Ng340.png

-d表示以daemon方式(后台运行)运行
-r /usr/share/nginx/svn指定根目录是/usr/share/nginx/svn


wKiom1ax082y0MrXAAAR-0A4tNM430.png

关闭进程使用kill-all命令


关于SVN钩子

由于svn并不能直接将提交的代码放到项目中,这里我们可以使用svn钩子程序



你可能感兴趣的:(centos,SVN)