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 条评论
登录 后参与评论

相关文章

来自专栏IT大咖说

送给前端的你:可视化快速生成模拟数据服务——Easy Mock

? 内容来源:2017年11月18日,大搜车前端工程师高攀在“2017中国开源年会”进行《Easy Mock 接口数据模拟服务》演讲分享。IT 大咖说(微信i...

4366
来自专栏吉浦迅科技

【用户经验分享】NVIDIA Jetson TX2开发板运行 jetson-inference 出现问题的终极解决办法

注 之前本公众号发布了一个教程【入门篇】Jetson TX2深度学习Inference初体验,里面提到一个步骤,就是可能会出现错误,提示nvidia.app.b...

1.1K5
来自专栏butterfly100

权限控制的解决方式(科普向)

目录 1 权限控制是什么   1.1 ACL   1.2 RBAC     1.2.1 名词术语     1.2.2 RBAC定义     1.2.3 RBAC...

89611
来自专栏SDNLAB

ONOS 实战分享(一):项目建立、调试到热部署

以上是ONOS的架构图,相信大家已经熟记于心了 本文将在Distributed Core Tier,以开发一个控制器内的模块为例,带领大家从项目的建立,导入I...

4247
来自专栏mySoul

Linux基础知识

软件运行时输入单元输入内容,进入内存,CPU由控制单元和算术逻辑单元组成,控制单元控制算术逻辑单元从内存中读取数据,内存和外部存储设备进行交互,运算完毕以后输出...

1794
来自专栏编程直播室

折腾git pages+hexo+NexT初识hexo开始本地试运行准备服务器准备上传工具先告一段落发表文章主题

2076
来自专栏程序员的知识天地

众多Python Web框架比较,哪个适合你,你就用哪个!

Python程序员有很多很好的选择来创建Web应用程序和API;Django,Weppy,Bottle和Flask引领潮流。

1652
来自专栏逸鹏说道

Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,...

3485
来自专栏不二小段

Python性能提升20倍居然不是标题党?

前两天有小伙伴发了篇文章给我,让我验证一下靠不靠谱,标题写着《如何在 i5 上实现 20 倍的 Python 运行速度?》,我看了不以为然,八成又是个标题党。看...

3118
来自专栏写代码的海盗

Coreos 安装及配置

Coreos 安装及配置 本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 目前国内...

4547

扫码关注云+社区