陈同学
微服务
Accelerator
About
# 15min运维之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](https://hub.docker.com/r/mamohr/subversion-edge/) 直接使用Dockerhub的`mamohr/subversion-edge`镜像 ```shell 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或域名 ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2018/06/14/1181603ffa314747b349d84eed976997.png) ## 管理 ### 创建Repository ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2018/06/14/c5c1643fa9e34e8aa88a362cfb4fe97e.png) 创建你的SVN库,名字随意,别用中文就行。一般库选择 Empty repository即可 ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2018/06/14/67c4f7b01197444cbfc17d9823d68d10.png) 创建后在`版本库列表`可以看到刚创建的repo. 此时,在浏览器上访问 `http://svn.utopiavip.org:18080/svn/utopia` 就可以访问这个SVN库了。 当然,windows上用小乌龟、Mac上用Cornerstone此时也是可以使用了。 ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2018/06/14/6f356523306d49efa22dddd28bb214c4.png) ### 用户管理 创建用户例子 ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2018/06/14/478f2233816c46a7b59d35806af80e2a.png) ### 配置访问规则 作为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了(不过基本不太可能)。 ![](https://blog-1256695615.cos.ap-shanghai.myqcloud.com/2018/06/14/fc691469bc904950b1b81ee004dd2bc5.png) 至此,SVN的安装、配置、管理、备份全部搞定,15分钟差不多。
本文由
cyj
创作,可自由转载、引用,但需署名作者且注明文章出处。
文章标题:
15min运维之SVN安装/管理/备份
文章链接:
https://chenyongjun.vip/articles/44
扫码或搜索 cyjrun 关注微信公众号, 结伴学习, 一起努力