专栏首页猪圈子测试进阶之—Linux下SVN服务器的搭建

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

01

进入正文

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

◆ 怎么备份工作文档

◆ 怎么进行工作文档的版本管理

◆ 协同合作模式怎么进行数据的同步

一个互联网公司会有非常多的工作角色,如项目经理、产品经理、开发工程师、设计师、测试工程师等等,每天的工作会产生非常多的代码、文档。

所以我们需要一个管理工具来对文档进行科学备份和版本控制,今天我们要分享的——subversion,简称SVN,就是一个强大的版本控制管理工具。

SVN简介

Subversion,简称SVN,是一个开源的版本控制系统。

在Subversion管理下,文件存放在中心版本库里,这个版本库就像一个普通的文件服务器.

不同的是,它可以记录每一次文件和目录的修改情况,这样就可以通过SVN将数据恢复到以前的版本,并可以查看数据的更改细节。

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

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

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

◆ 阶段性工作成果提交

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

安装

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

① yum在线安装subversion,连上Linux系统,输入yum -y install subversion。

当看到如下提示时,表示安装SVN成功了。

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

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

③ 版本库目录和文件说明

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

conf:仓库配置文件(用户访问账号、权限等) db:所有版本控制的数据文件的目录

format:文本文件,里面只放了一个整数,表示当前文件库配置的版本号

hooks:hook脚本文件 locks:文件库锁定数据的目录

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

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

输入:vim /var/svn/www/conf/passwd

编辑文件,在[users] 下添加用户名密码对,然后保存退出。

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

输入:vim /var/svn/lemon/conf/authz

编辑文件如下,然后保存退出

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

[/]:这里的根目录是指项目根目录,而不是系统根目录。

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

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

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

输入:

vim /var/svn/lemon/conf/svnserve.conf

修改svn仓库配置文件如下

上面的各个配置项说明如下:

[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#认证空间名,版本库所在目录

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

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

⑧ 初始化版本库文件

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

⑨ 接下来使用我们的svn客户端TortoiSVN

在win7下下载我们刚创建的版本库 点击鼠标左键,选择SVNcheckout

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

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

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

本文来源于:柠檬班软件测试

文部分来源网络,如有侵权请第一时间联系删除。

本文分享自微信公众号 - 猪圈子(Tester-sc),作者:柠檬班Happy

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2期-软测面试理论题

    1>LR中”denglu”事物前插入一个名叫”zelin’的集合点的函数为:lr_rendezvous (”zelin”);

    测试小兵
  • 我的第一次埋点功能测试

    埋点测试只是数据采集的一种术语,而数据采集是提供给运营工作人员去了解手机app对于某些模块、场景的用户使用情况.

    测试小兵
  • 单元测试是什么?为什么要做单元测试?

    单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确,通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行...

    测试小兵
  • SVN教程 -- 基于自己学习记录

    Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统。相较于 git ,svn 是集中式版本控制系统。

    希希里之海
  • 1095 火星人

    1095 火星人 2004年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 D...

    attack
  • 手写DI依赖注入

    “ DI是IOC的一种重要实现,Spring能够动态的向某个对象提供它所需要的其他对象,就是通过DI(Dependency Injection,依赖注入)来实现...

    每天学Java
  • c#6.0特性

    (2)表达式属性(只有一个get访问器的单行属性,可以使用lambda表达式语法编写)

    wfaceboss
  • 【每日一题】蛇行矩阵

    题号:1097 题目描述 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个正整数N组成。(N不大于100) 输出...

    编程范 源代码公司
  • 抖音要向短视频前辈美拍、快手学习什么?

    2018年抖音火了。从春节期间开始集中爆发,通过今日头条惯用的母体导流、百万英雄直播答题、联合12位明星发红包、渠道买量等重重手段收获了4200万新增用户,并连...

    罗超频道
  • Django下载数据库表格(XLS/CSV)

    菲宇

扫码关注云+社区

领取腾讯云代金券