• docker搭建svn并对svn客户端进行相关操作


    1.开发者前言

    这篇博客我根据自己经验和搜索总结而来的,不足之处还希望大家谅解。我写这篇文章的原因是,我在网上看了很多资料,但是感觉很多都是不很全。并且一个很不好的现象是很多都是复制别人博客,缺的很多,希望我的这篇博客对大家有一点点帮助,谢谢。

    2.docker中svn搭建

    2.1. 搭建前准备

    1)搭建docker

    2)配置相关docker环境

    2.2. 安装svn

    步骤1:安装并启动容器

    命令:docker run --restart always --name svn -d -v /data/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server

    参数解析:

    /data/svn为宿主机的文件目录,/var/opt/svn为容器内的文件目录

    --restart always命令可以实现容器在宿主机开机时自启动

    -p 3690:3690表示将宿主机的3690端口映射到容器的3690端口,此端口为svn服务的默认端口,可以根据需要自行修改

    注:这里我们安装了svn,在linux中我们需要开启3690端口,和把对应对口加入到安装组,这样我们才能正确的在浏览器里面进行访问。

    附:端口和防火墙开启方式

    1)查看端口是否开启

     firewall-cmd --list-all

    2)开启端口

    firewall-cmd --add-port=80/tcp --permanent

    3)重启防火墙

    firewall-cmd --reload

    步骤2:创建svn仓库和账户

    1)进入容器

    docker exec -it svn /bin/sh

    2)创建名称和svn仓库

    svnadmin create svn

    配置成功后在仓库下面会显示如下文件

    1)资源仓库配置,修改svnserve.conf

    anon-access = none             # 匿名用户不可读写,也可设置为只读 read

    auth-access = write            # 授权用户可写

    password-db = passwd           # 密码文件路径,相对于当前目录

    authz-db = authz               # 访问控制文件

    realm = /var/opt/svn/svn       # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如svn

    2)配置账号与密码,修改 passwd文件,格式为账号 = 密码 相关命令:vi passwd

     

    1)配置账户权限,修改 authz文件 相关命令:vi authz

    owner = admin          

    test1 = lixi           

    dev  = xietao,zhangsan,wangwu

    [/]                          

    admin = rw             

    [svn:/]                      

    @owner = rw                  

    @test1 = r                   

    @dev = rw 

    参数解释:

    在这里,我配置了三个用户组ownertest1dev组,这三个组后面会用到来测试svn相关的权限验证。安装完成后,下面会做对应的验证操作。

    主要验证样例为:

    ----用户组owner用查看和提交数据和读数据的权限,里面的用户有admin

    ----用户组test1组用户只有读的权限没有修改数据的权限,里面的用户有lixi

    ----用户组dev有读和写的权限,里面的用户有xietao/zhansan/wangwu

    1)步骤3:拉取svn

    打开浏览器,输入svn://xxxxxx:3690/svn,其中xxxx为ip地址。

    注:服务器安装完成后,你自己需要安装自己的一个客户端工具TotoiseSVN

    如下输入上面地址后,点击打开客户端

    选择打开后就会出现下图的界面,输入用户名和密码就可以登录进去了,而对应的用户名和密码在上面已经做了介绍。

    我为了演示上面提到的案例,就是不同组内成员的权限问题,我使用admin用户登录进去创建了两个文件夹

    1.1. 组内权限验证

    案例:

    ----用户组owner用查看和提交数据和读数据的权限,里面的用户有admin

    ----用户组test1组用户只有读的权限没有修改数据的权限,里面的用户有lixi

    ----用户组dev有读和写的权限,里面的用户有xietao/zhansan/wangwu

    登录test1组内用户,上传或者修改文件

     

    登录成功后,上传文件,提示权限不足

    而登录其他用户上传文件时,只要有rw权限的就可以实现文件上传和修改

    结束语:上面的svn安装已经模拟现代企业中团队开发中项目管理进行了搭建,剩下关于svn的相关操作大家可以网上去找相关资料进行学习和总结了,感谢大家的捧场。

  • 相关阅读:
    JSP + JavaBean + Servlet实现MVC设计模式
    编译时提示软件包 javax.servlet.http 不存在 import javax.servlet.http.HttpServletRequest;
    SmartUpload控件 中文乱码问题解决办法
    Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    Java Web 常用在线api汇总(不定时更新)
    EL函数库
    JSTL格式化标签库
    JSTL核心库
    JSTL标签概述
    iText创建一个含有中文的pdf文档
  • 原文地址:https://www.cnblogs.com/jfaith/p/13961830.html
Copyright © 2020-2023  润新知