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

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

-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 更新了该帖
回帖
请输入回帖内容 ...