欢迎访问 陈同学博客原文
最近因为要重新安装一些开发工具,因此纪录下,整理成一个运维系列。
在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。
代码语言:txt复制[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分钟差不多。