15分钟运维系列之SVN安装/管理/备份

2018-06-14 22:24:14 浏览数 (1)

欢迎访问 陈同学博客原文

最近因为要重新安装一些开发工具,因此纪录下,整理成一个运维系列。

在Docker没有普及之前,服务器上安装工具十分繁琐。有了Docker之后,各种管理工具都是15分钟搞定安装配置。

如果你是初创公司的技术负责人,这些杂活技能也许对你有用。

本文介绍如何基于Docker安装管理SVN,15分钟搞定一切。

环境&安装介质

  • OS:Ubuntu 16.04.1 LTS
  • Docker:Docker version 1.13.1
  • SVN:Subversion Edge
  • 机器IP:127.0.0.1 (此IP仅做示例,你需要使用自己的实际IP或域名)

安装

参考 Dockerhub subversion-edge

直接使用Dockerhub的mamohr/subversion-edge镜像

代码语言:txt复制
sudo docker run -d -p 3343:3343 -p 4434:4434 -p 18080:18080 
-v /u01/svn/data:/opt/csvn/data --name svn mamohr/subversion-edge

参数介绍:

  • 3343:HTTP CSVN Admin Sites
  • 4434: HTTPS CSVN Admin Sites (If SSL is enabled)
  • 18080:Apache Http SVN
  • /u01/svn/data:数据存储目录

配置

登录

访问SVN控制台: http://127.0.0.1:3343 ,初始账户: admin/admin

配置主机名

将主机名配置成你的实际IP或域名

管理

创建Repository

创建你的SVN库,名字随意,别用中文就行。一般库选择 Empty repository即可

创建后在版本库列表可以看到刚创建的repo.

此时,在浏览器上访问 http://svn.utopiavip.org:18080/svn/utopia 就可以访问这个SVN库了。

当然,windows上用小乌龟、Mac上用Cornerstone此时也是可以使用了。

用户管理

创建用户例子

配置访问规则

作为SVN管理员,一方面是用户管理,另一方面是repo的权限管理要做好。

下面是一个简单的访问规则例子,假设我们有用户admin,user1,user2,user3。

代码语言:txt复制
[groups]
Gadmin = admin
Gutopia = user1,user2
Gdeveloper = user2
[/]
@Gadmin = rw
[utopia:/]
@Gutopia = rw
[utopia:/技术管理]
@Gdeveloper = rw
user3 = r

规则介绍

  • groups:用户组,以@开头,将若干用户分为一个组,统一控制该组用户的权限。为了和用户区分,用户组我统一使用 G 开头
  • Gadmin组对所有库有读写权限
代码语言:txt复制
[/] 
@Gadmin = rw
  • Gutopia组成员对utopia 库所有可读写
代码语言:txt复制
[utopia:/]
@Gutopia = rw
  • 开发人员对utopia库下的技术管理 目录可读写,user3仅对该目录可读写,所有用户对该库可读
代码语言:txt复制
[utopia:/技术管理]
@Gdeveloper = rw 
user3 = rw
* = r

备份

备份

SVN作为资料库,需要做好数据备份。

如果数据量不大,直接全量备份就好,天数保留7天足够。在New Jobs Tab页勾选需要备份的repo,直接创建Job即可。如果条件允许,最好定期备份磁盘数据,否则万一磁盘出现意外,就GG了(不过基本不太可能)。

至此,SVN的安装、配置、管理、备份全部搞定,15分钟差不多。

0 人点赞