linux上搭建svn多仓库环境

一、前言

有条件的还是建议用GIT,如果我带团队, 也一定会主推GIT

以下是我认为svn无法取代git的优点

  • SVN的分支是对某个分支或者主干的拷贝,而GIT的分支是创建一个指针,创建分支和切换分支非常迅速
  • GIT更优越的工作流, 存在本地库的概念,我可以在本地建立自己的分支,形成自己的版本库,而SVN必须有服务器才能工作

二、环境搭建

2.1 环境

  • ubuntu 18.04 腾讯云服务器

  • svn 1.9.7 版本

  • XShell 7

2.2 安装过程

还是通过ubuntu的软件管理工具apt-get进行安装, 首先要更新一下

apt-get update

安装

apt-get install subversion

通过 svn --version 验证svn是否安装成功, 能显示版本号就是安装成功

svn --version

三、创建SVN库

3.1 创建svn仓库

我习惯放在home路径下, 看个人习惯

mkdir /home/svn/repositories

因为有多个项目, 因此先创建他们的根目录, 并分配读写权限

chmod -R 777 /home/svn/repositories

3.2 创建多项目

因为大部分公司不可能只有一个项目, 因此这里建立多项目

然后再在repositories下建立第一个项目的仓储

svnadmin create /home/svn/projects/project1

查看一下文件信息

ll /home/svn/projects/project1

可以查看到多了confdbformathookslocksREADME.txt

然后类似我们建立第二个项目

svnadmin create /home/svn/projects/project2

3.3 统一管理多项目

为了控制两个项目的权限, 我们将账户密码和授权文件放到项目根目录下

两个方式, 第一种方式通过ftp将project1或者project2下conf文件夹中的authz和passwd放到两个项目的根目录中, 也就是/home/svn/projects

也可以通过cp命令一次将两个文件移动到根目录下

cp /home/svn/projects/project1/conf/authz /home/svn/projects/project1/conf/passwd /home/svn/projects

然后分别修改两个项目中/conf/svnserve.conf文件

## 未登录不可以访问
anon-access = none
## 授权后可以读写
auth-access = write
## 指定验证文件路径
password-db = /home/svn/projects/passwd
authz-db = /home/svn/projects/authz
## 说实话我不知道这个有没有必要改, 改的话对应项目名称即可
realm = project1

这样两个项目都依赖父文件夹的authzpasswd了, 方便统一授权和管理

3.4 管理账户密码以及授权

分配账号

vim /home/svn/projects/passwd

分配所有人的账号

suhao = 123456

管理授权

vim /home/svn/projects/authz

没管理过svn, 个人感觉可以通过这种方式进行权限控制, 大佬勿喷

[groups]
[project1:/]
# suhao分配读写权限
# 或者* = rw也可以, 给所有人读写权限
suhao = rw

3.5 云服务器其他配置

配置防火墙

sudo ufw enable ## 启动防火墙
sudo ufw allow 3690 ## 开放svn默认的3690端口

配置云服务器出入规则(云防火墙)

访问控制台, 加入3690端口(TCP)限制即可

四、测试启动和检出

启动服务

svnserve -d -r /home/svn/project

检出, 客户端通过

svn://ip/project ## 检出project1

这里通过suhao账号可以正常检出, 也可以正常提交

至此, svn配置结束

五、初步理解

以下部分是我作为初学者的一点理解

svn启动命令是这样的

svnserve -d -r /home/svn/repositories --listen-port 3690

有点类似http的静态服务, 我搭建一个静态服务器, 指定服务器本地路径, 就可以为这些路径下的文件提供http服务

svn是不是也是这样的呢?

希望明白的大佬指点一下~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值