使用docker部署一个SVN

1、前提

2、安装SVN

  • 宿主机上新建目录做数据持久化:mkdir -p /Users/chenbinhao/svn/repo
  • 新建文件docker-compose.yml,命令为vi /Users/chenbinhao/svn/docker-compose.yml
    • volumes 容器中/var/opt/svn为存放数据的位置
    • ports 将端口3690映射出来
    services:
      svn-server:
        image: garethflowers/svn-server
        ports:
          - 3690:3690
        container_name: svn-server
        privilleged: true
        restart: always
        volumes:
          - /Users/chenbinhao/svn/repo:/var/opt/svn
    
  • 启动容器:docker-compose up -d

3、创建版本库

  • 进入到容器中:docker exec -it svn-server /bin/sh
  • 创建名为chenbinhao 的版本库:svnadmin create chenbinhao
  • 进入仓库,可以看到有如下几个文件:
    在这里插入图片描述
  • 进入到conf文件夹,修改svnserve.conf passwd authz文件
  • 修改配置文件:vi svnserve.conf,内容如下:
    anon-access = none             		# 匿名用户不可读写,也可设置为只读 read
    auth-access = write            		# 授权用户可写
    password-db = passwd           		# 密码文件路径,相对于当前目录
    authz-db = authz               		# 访问控制文件
    realm = This is chenbinhao's SVN    # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如svn
    
  • 修改用户密码的配置文件:vi passwd,内容如下,# 表示注释
    [users]
    admin = 123456
    chenbinhao = 123456
    user = 123456
    
  • 修改授权文件:vi authz,内容如下,# 表示注释
    [groups]
    administrator = admin,chenbinhao
    [/]									# 表示所有仓库的权限
    @administrator = rw					# 表示administrator这个组内的所有成员都有读写的权限
    [chenbinhao:/]						# 表示chenbinhao这个仓库中所有目录的权限
    user = r							# 表示user这个用户拥有读权限
    
  • 配置完即可退出容器,重启容器,刚才配置的内容才会生效:docker-compose restart

4、关于授权文件authz的配置说明

[<版本库>:/项目/目录]
@<用户组名> = 权限
@<用户名> = 权限


其中,[]内容有多种写法:
- [/],表示根目录及其以下的路径,根目录是svn启动时指定好的;
    上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).
    [/]就是表示对全部版本设置的权限
- [test:/],表示对版本库test设置权限
- [test:/svnadmin],表示对版本库test中的svnadmin项目设置权限
- [test:/svnadmin/second],表示对版本库test中的svnadmin项目的目录设置权限


权限的主体可以是用户组,用户或者*,用户组在前面要以@开头,*表示全部用户
权限分为:r,w,rw和null,null空表示没有任何权限
authz配置文件中的每个参数,开头不能有空格,对于组要以@开头,用户不需要。
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值