测试进阶之——Linux 下 SVN 服务器的搭建

本贴最后更新于 1602 天前,其中的信息可能已经事过景迁

首先我们思考下面几个工作中会遇到的问题

-1:怎么备份工作文档

-2:怎么进行工作文档的版本管理

-3:协同合作模式怎么进行数据的同步

一个互联网公司会有非常多的工作角色,如项目经理、产品经理、开发工程师、设计师、测试工程师等等,每天的工作会产生非常多的代码、文档,所以我们需要一个管理工具来对文档进行科学备份和版本控制,今天我们要分享的——subversion,简称SVN,就是一个强大的版本控制管理工具。

Subversion,简称SVN,是一个开源的版本控制系统。在Subversion管理下,文件存放在中心版本库里,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以通过SVN将数据恢复到以前的版本,并可以查看数据的更改细节。

-使用svn,我们一天的工作流程将变成如下几步:

1:每个人从SVN服务器下载项目的最新文档(代码)

2:进入各自的分支,开始工作

3:阶段性工作成果提交

4:下班时间到了,合并各自的分支到服务器主分支

image.png

下面就带大家在Linux下安装一个属于自己的版本控制管理系统

-1:yum在线安装subversion,连上Linux系统,输入yum -y install subversion,当看到如下提示时,表示安装SVN成功了
image.png

-2:建立仓库目录,使用svnadmin建立一个版本库,输入如下命令

mkdir -p /var/svn/lemon
svnadmin create /var/svn/lemon

image.png

-3:版本库目录和文件说明

切换到/var/svn/lemon的目录下,我们可以看到生成了如下的文件

image.png

conf:仓库配置文件(用户访问账号、权限等)
db:所有版本控制的数据文件的目录
format:文本文件,里面只放了一个整数,表示当前文件库配置的版本号
hooks:hook脚本文件
locks:文件库锁定数据的目录

切换到conf目录下,可以看到三个配置文件

image.png

-4:编辑账号密码文件passwd,添加访问用户和对应的密码

输入:vim /var/svn/www/conf/passwd,编辑文件,在[users] 下添加用户名密码对,然后保存退出

image.png

-5:编辑权限控制文件authz,划分组、添加用户到组并授权

输入:vim /var/svn/lemon/conf/authz, 编辑文件如下,然后保存退出

image.png

[groups]下配置的是组 = 组用户1、组用户2的一个列表,表示每个组有哪些用户;

[/]:这里的根目录是指项目根目录,而不是系统根目录,具体本例是指/var/svn/lemon
@g_admin = rw:表示g_admin这个组的权限,其中r表示读,w表示写,即该组拥有项目根目录的读写权限

[/dev]
@g_dev = rw
表示g_dev组拥有对根目录下dev目录下文件的读写权限

-6:编辑服务配置文件,让用户和策略生效

输入:vim /var/svn/lemon/conf/svnserve.conf,修改svn仓库配置文件如下

image.png

上面的各个配置项说明如下:
[general]
anon-access = none #不允许匿名用户访问
auth-access = write #通过验证的用户可以读和写,passwd.conf 中用户
password-db = /var/svn/lemon/conf/passwd #用户保存文件
authz-db = /var/svn/lemon/conf/authz #权限管理文件
realm = lemon#认证空间名,版本库所在目录

7:启动 svn:svnserve -d -r /var/svn/

测试是否成功:输入svnserve --version
看到如下信息就表示我们的SVN已经正常启动了

image.png

-8:初始化版本库文件

我们在/home目录下新建一个测试文件,并使用svn inport命令导入初始文件到版本库

image.png

-9:接下来使用我们的svn客户端TortoiSVN,在win7下下载我们刚创建的版本库
点击鼠标左键,选择SVN checkout

image.png

-输入我们的SVN版本库地址:

image.png

-点击OK,输入我们的用户名和密码

image.png

-点击OK,我们就可以看到checkout的提示,还有dev下之前建立的文件

image.png
image.png

1 操作
happy 在 2020-08-06 16:47:51 更新了该帖
回帖
请输入回帖内容 ...