Centos 7 搭建SVN服务器及避坑指南!

Centos 7 搭建SVN服务器及避坑指南!

Scroll Down

SVN如果你是程序员的话,你一定熟的不能再熟,及时你不用但是肯定知道,如果不知道你可能是外星来的!

SVN的全称是Subversion是一个开源的版本控制系统,管理随时间改变的数据。简单地说SVN的作用在于可以将你随时改变的代码,标记上版本号,然后依次存放起来,有没有听起来挺熟的——NAS!只是SVN存储的是代码,而NAS存放的是文件!

SVN服务支持svnserve和http访问模式,本教程主要讲解SVNserve的部署方法。

1.jpg

SVN简介

SVN管理的数据存放在中央资料档案库(Repository)中。该档案库会记录文件的每一次变动,这样您就可以把数据恢复至旧版本, 或浏览文件的变动历史。SVN中常用的概念和操作如下:

  • Repository(源代码库):源代码统一存放的地方。
  • Checkout(提取):该操作用于从repository中提取一份源代码到本地。
  • Commit(提交):该操作用于将修改代码后的代码提交到repository。
  • Update(更新):该操作用于同步本地源代码与Repository中的源代码。

使用SVN管理代码的常见流程为:

Checkout(您提取源代码到本地)->其他人修改并提交源代码到Repository->Update(您获得最新的代码)—> 您修改并调试成功源代码 —> Commit(提交修改后的代码到Repository库,其他程序员即可看到您的修改)。

2.jpg

注意:SVN管理源代码的单位为行。如果您与其他程序员同时修改了一个文件中的代码:

若修改的代码在不同行,SVN会自动合并两种修改。

若修改的代码在同一行,SVN会提示文件冲突(Conflict),需要手动确认。

搭建SVN服务器

安装环境:Centos 7

坑一:安装Centos 7 系统时,注意需要手动打开网卡,连接网络后,手动指定时区!

1.安装subversion

yum install subversion 

这个没啥说的,直接安装就可以。

2.安装完后查看SVN版本,检查安装是否正确。

svnserve --version

3.jpg

3.创建版本库根目录。

mkdir /home/svn

这个文件位置看自己情况,想放置在哪里!

4.在版本库根目录创建项目版本库

cd /home/svn        #跳转版本库根目录 
svnadmin create /home/svn/project 

在使用svnadmin的同时,在project文件夹地下会自动创建,版本库系统文件。

5.查看版本库系统文件

cd project                    #跳转到项目版本库的目录
ls -ll                        #查看目录文件

4.jpg

Subversion目录说明

5.jpg

6.进入conf文件夹,主要的配置文件都在里面。

authz             认证权限的配置
passwd            用户密码的配置
svnserve          服务器相关配置

6.jpg

7.配置passed文件,增加使用用户

vim passed

在文件里面添加使用用户, 添加账号和密码的格式为:账号=密码。需要多位用户,往下面增加就可以。

7.jpg

8.配置authz文件,配置权限!

admin = dpyouling       #创建admin用户组,用户dpyouling属于admin组。

dpyouling = rw          #赋予dpyouling用户,读和写的权利。
[/] #               根域里定义权限
@admin=rw           #赋予admin用户组读写权利
*=r                 #赋予所有用户读取的权利

坑二:根域([/]需要自己添加)里定义权限,如果没添加,后期登陆会一直提示登陆失败

8.jpg

9.配置svnserve.conf,SVN服务配置文件。

anon-access = none                 #控制非鉴权用户访问版本库的权限
auth-access = write                #控制鉴权用户访问版本库的权限
password-db = passwd               #指定用户名口令文件名
authz-db = authz                   #指定权限配置文件名
realm = /home/svn                  #指定版本库的认证域,即在登录时提示的认证域名称 

坑三:最后一个realm路径写全就可以了。

9.jpg

10.启动SVN版本库

svnserve -d -r /home/svn/

11.运行命令ps -ef |grep svn查看SVN服务是否开启。

如果返回结果如下图所示,表示SVN服务已经开启。

10.jpg

如果要停了svn,使用下面命令。

killall svnserve

Windows端登录

在Windows端登录需要使用TortoiseSVN客户端。

1.安装TortoiseSVN。

https://tortoisesvn.net/downloads.html

2.创建本地文件夹,右击SVN commit.

11.jpg

3.建立登录连接,在URL位置填写服务器地址和登陆账户!

12.jpg

4.出现下面画面就说明可以正常使用了!

13.jpg