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

欢迎访问 陈同学博客原文

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

在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镜像

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。

[groups]
Gadmin = admin
Gutopia = user1,user2
Gdeveloper = user2
[/]
@Gadmin = rw
[utopia:/]
@Gutopia = rw
[utopia:/技术管理]
@Gdeveloper = rw
user3 = r

规则介绍

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

备份

备份

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

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

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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏向治洪

工具武装前端工程师

本文主要介绍前端开发中常用的工具集合。 编辑器 1. SublimeText(Windows/Mac)可以长期免费试用 这个工具已经很火了,我之前是99%的码是...

1708
来自专栏北京马哥教育

Docker 入门教程

几个月以前,红帽(Red Hat)宣布了在 Docker 技术上和 dotCloud 建立合作关系。在那时候,我并没有时间去学习关于 Docker 的知识,所以...

3327
来自专栏北京马哥教育

linux 查看流量工具汇总

在Linux下怎么看网络流量? 在Windows下,我们可以很方便的通过360来查看网络流量,知道哪个进程占用的网络带宽比较多。那在Linux下怎么看流量呢,对...

4229
来自专栏SDNLAB

网络操作系统VyOS应用实践(一)

前言 本文在前面安装篇的基础上,对其功能进行应用实践。本文先介绍使用中的一些注意事项,后面介绍其网络接口相关的功能。 探索开始 这款操作系统目的是为了在x86平...

6426
来自专栏企鹅号快讯

g4e基础篇#3 Git安装与配置

现在你已经对Git有了最基本的了解,现在让我们开始动手开始安装和配置Git环境。 Git工具包括Git命令行工具,图形化工具和服务器环境;在我们这个教程中,我们...

21310
来自专栏Java成神之路

Git_学习_04_ 多人协作开发的过程

603
来自专栏沈唁志

如何在Ubuntu 16.04上安装PrestaShop

如果您曾经考虑过开设在线商店,您可能会感受到各种免费的开源电子商务解决方案。虽然有这么多的选择意味着几乎可以肯定有一个可用的有效解决方案适合您的特定情况,但它也...

1223
来自专栏bboysoul

种子下载工具cloud-torrent搭建和使用

最近在下几个种子,原本是放在电脑上下载的,但是你知道的,我的电脑不可能24小时在线的,而且作为一个有强迫症的人,你能忍受你玩电脑的时候后台总有一个下载工具在运行...

1303
来自专栏啸天"s blog

amh4.2优化版

1344
来自专栏JMCui

git rebase 合并多次提交.

    常常一个功能的开发,修修补补 commit 了 n 多次,带来的结果就是提交过多过杂,不够直观,究竟哪些提交是对应这个功能的呢?还有就是,如果我要将这个...

692

扫码关注云+社区