代码管理--svnadmin工具介绍

1、简介

  SVNAdmin2 是一款通过图形界面管理服务端SVN的web程序。正常情况下配置SVN仓库的人员权限需要登录到服务器手动修改 authz 和 passwd 两个文件,当仓库结构和人员权限上了规模后,手动管理就变的非常容易出错,本系统能够识别人员和权限并提供管理和拓展功能。SVNAdmin2 支持SVN协议检出、HTTP协议检出,并且支持两种协议之间互相切换,支持docker部署或源码部署。SVNAdmin2 支持进行LDAP的接入,进而达到使用原有的人员架构和分组规则的目的。SVNAdmin2 第一个版本(20年初)被开发用来个人管理SVN仓库使用,无意中开源后发现用户渐多,于是开始专门维护迭代。

2、Docker安装

  由于docker安装是一种比较好的安装方式,因此本文只介绍docker安装,建议大家都采用这种安装方式。在安装之前先安装docker环境

  1. 启动一个临时的容器用于复制配置文件出来
docker run -d --name svnadmintemp --privileged witersencom/svnadmin:2.5.3 /usr/sbin/init
  1. 把配置文件复制到本机的 /home/svnadmin 目录
cd /home/
docker cp svnadmintemp:/home/svnadmin ./
docker cp svnadmintemp:/etc/httpd/conf.d ./svnadmin/
docker cp svnadmintemp:/etc/sasl2 ./svnadmin/

  这条命令的意义如下:

  • 具体来说,命令cd /home/将当前工作目录更改为本地机器上的/home目录。
  • 命令docker cp svnadmintemp:/home/svnadmin ./将容器svnadmintemp中的/home/svnadmin目录及其所有子目录和文件复制到本地机器的当前工作目录中。
  • 命令docker cp svnadmintemp:/etc/httpd/conf.d ./svnadmin/将容器中的/etc/httpd/conf.d目录及其所有子目录和文件复制到本地机器上的/home/svnadmin/目录下的svnadmin/子目录中。
  • 类似地,命令docker cp svnadmintemp:/etc/sasl2 ./svnadmin/将容器中的/etc/sasl2目录及其所有子目录和文件复制到本地机器上的/home/svnadmin/目录下的svnadmin/子目录中。
  1. 删除掉临时容器
docker stop svnadmintemp && docker rm svnadmintemp
  1. 启动正式的容器
docker run -d -p 80:80 -p 3690:3690 \
-v /home/svnadmin/:/home/svnadmin/ \
-v /home/svnadmin/conf.d/:/etc/httpd/conf.d/ \
-v /home/svnadmin/sasl2/:/etc/sasl2/ \
--privileged \
--name svnadmin \
witersencom/svnadmin:2.5.3

  以下是该命令中的选项和参数的含义:

  • -d:在后台运行容器。
  • -p 80:80:将主机的 80 端口映射到容器的 80 端口,使得可以通过主机的 IP 地址访问容器中运行的 Web 应用。
  • -p 3690:3690:将主机的 3690 端口映射到容器的 3690 端口,使得可以通过主机的 IP 地址访问容器中运行的 SVN 服务。
  • -v /home/svnadmin/:/home/svnadmin/:将主机的 /home/svnadmin/ 目录挂载到容器的 /home/svnadmin/ 目录,以便容器中的应用程序可以读取和写入该目录中的文件。
  • -v /home/svnadmin/conf.d/:/etc/httpd/conf.d/:将主机的 /home/svnadmin/conf.d/ 目录挂载到容器的 /etc/httpd/conf.d/ 目录,以便容器中运行的 Apache HTTP 服务器可以读取并使用该目录中的配置文件。
  • -v /home/svnadmin/sasl2/:/etc/sasl2/:将主机的 /home/svnadmin/sasl2/ 目录挂载到容器的 /etc/sasl2/ 目录,以便容器中运行的 SASL 库可以读取并使用该目录中的配置文件。
  • –privileged:将容器设置为特权模式,以便容器内的进程可以访问主机的一些特权资源。
  • –name svnadmin:给容器指定一个名称 svnadmin,以便在后续的操作中使用该名称。
  • witersencom/svnadmin:2.5.3:要运行的 Docker 镜像的名称和版本号。
  1. 进入容器内进行文件授权
docker exec -it svnadmin bash
chown -R apache:apache /home/svnadmin
  1. 登录
      系统默认登录账号:admin,密码:admin

3、效果展示

  • 用户界面
    在这里插入图片描述
  • 管理员界面
    在这里插入图片描述

4、总结

  整体来说svnadmin还是一款比较好用的软件,有如下优点:

  • 支持多用户 ,管理员和用户独立分开;
  • 支持svn仓库定时备份功能;
  • 支持用户组功能;
  • 支持服务器信息展示;
  • 支持操作日志功能;

项目Github地址:SVNAdmin2项目Github地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可网页添加账号和控制,下面是安装心得 1.到http://phpstudy.net/download.html下载JspStudy JSP环境一键安装包,解压,进行安装,安装好后,选择其他选项菜单-JspStudy 设置-端口常规设置,进入后全做修改PHP目录需先分开解析,选择 分开解析 点应用 2.安装Setup-Subversion-1.8.17 安装时候选择Apache 2.4.X 3.安装C++ 否者修改下面数据后重启JspStudy-Apache程序会启动不了 安装C++需要重启电脑 4.进入Subversion安装目录\Subversion\bin\ 把 mod_authz_svn.so和mod_dav_svn.so 拷贝到 JspStudy\Apache\modules 目录下 5.进入Subversion安装目录\Subversion\bin\ 把 libsvn_delta-1.dll libsvn_fs-1.dll libsvn_repos-1.dll libsvn_subr-1.dll 拷贝到 JspStudy\Apache\bin 目录下 6.修改JspStudy\Apache\conf\httpd.conf文件 查找LoadModule dav_module modules/mod_dav.so把前面#号取消掉 查找LoadModule dav_fs_module modules/mod_dav_fs.so把前面#号取消掉 添加LoadModule dav_svn_module modules/mod_dav_svn.so 添加LoadModule authz_svn_module modules/mod_authz_svn.so 如果安装svnadmin-3.0.5在最下面添加 <Location /svn/> DAV svn SVNListParentPath on SVNParentPath D:/svn AuthType Basic AuthName "Subversion repositories" AuthUserFile D:/svn/passwd.http AuthzSVNAccessFile D:/svn/authz Require valid-user </Location> RedirectMatch ^(/svn)$ $1/ 7.解压svnadmin-3.0.5.zip将svnadmin.war 移动到JspStudy\tomcat\webapps 8.启动tomcat,让tomcat自行解压war包,然后编辑数据库配置文件的#mysql段,使其可以正常连接数据库 JspStudy\tomcat\webapps\svnadmin\WEB-INF\jdbc.properties #MySQL MySQL.jdbc.driver=com.mysql.jdbc.Driver MySQL.jdbc.url=jdbc:mysql://127.0.0.1:3306/svnadmin?characterEncoding=utf-8 MySQL.jdbc.username=root MySQL.jdbc.password=root 9.把phpMyAdmin解压到\JspStudy\phproot目录下 9.1.mysql创建svnadmin库导入svnadmin项目mysql数据库和语言包 mysql5.sql lang/en.sql 10.创建SVNsvnadmin create d:\svn\test 12.访问127.0.0.1:8080/svnadmin 用户名和密码是admin 进入后生成一个用户赐予用户test数据库的读写权限 11.访问127.0.0.1能看见库
Java实现的SVN远程管理WEB应用 源码地址:http://code.google.com/p/jsvnadmin Svn Admin是一个Java开发的管理Svn服务器的项目用户的web应用。安装好Svn服务器端好,把Svn Admin部署好,就可以通过web浏览器管理Svn的项目,管理项目的用户,管理项目的权限。使得管理配置Svn简便,再也不需要每次都到服务器手工修改配置文件。 有什么优点 多数据库:Svn项目配置数据保存在数据库,支持所有数据库(默认MySQL/Oracle/SQL Server)。 多操作系统:支持Window,Linux等操作系统。 权限控制:管理员可以随意分配权限、项目管理员可以管理项目成员、成员只能查看和修改自己的密码。 支持多项目、多用户、多用户组Group(默认带有“项目管理组”、“项目开发组”、“项目测试组”)。 安全:密码加密保存。 多协议:支持svn协议和http协议(从2.0开始支持Apache服务器单库方式,从3.0开始支持Apache多库方式) Svnadmin在Java 1.6、Tomcat 6、Subversion 1.6、MySQL 5.1、Apache 2.2、Windows 7上开发测试通过,同时支持其他操作系统和数据库。 支持svn协议 Svn的配置信息都在仓库目录的conf下的authz,passwd,svnserve.conf三个文件中,配置用户和权限都是通过修改passwd和authz,立刻就生效。Svn Admin的本质是对这3个文件进行管理,所有成员、权限的数据都保存在数据库中,一旦在Svn Admin的页面上修改,就会把配置信息输出到conf下的那3个配置文件中。 支持http协议 Apache+SVN配置成功后可以有两种方式: 多库方式:SVNParentPath 指定一个父目录,所有仓库在这个父目录下,使用一个密码文件和一个权限配置文件。优点是增加删除仓库不需要改apache的httpd.conf,不需要重启Apache。缺点是项目多会很混乱。 单库方式:SVNPath 每个仓库单独配置各自的密码和权限文件。优点是各自分开,互相不影响,维护方便。缺点是增加或删除仓库需要修改apache的httpd.conf后重启。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值