互联网小型公司刚开始启动项目的时候,一般只有一个项目,这个时候,只需要在服务器上部署单库的SVN提供服务即可满足需求,运维人员刚开始只需要在命令行手动配置仓库,新人入职改改passwd和authz配置文件添加账号和权限就能搞定,但随着公司的日益发展壮大,研发队伍越来越壮大,人数越来越多,项目模块化,分布式,SOA服务化,多项目同时研发、测试、发布上线等等,运维人员忙的不可开交,旧法子已经完全不能满足需求了,怎么办呢?本着高效率工作,多玩耍的思想,运维人员要寻求更快更便捷的方法来解决问题,那么一定是服务化的方法了,通过WEB UI的方式管理,点点鼠标可以轻松搞定。
Jsvnadmin的出现,就改变了以往纯命令行或脚本的原始化方法,它是一个 Java 开发的管理 Svn 服务器的项目用户的 web 应用。安装好 Svn 服务器端好,把 Svn Admin 部署好,就可以通过 web 浏览器管理 Svn 的项目,管理项目的用户,管理项目的权限。使得管理配置 Svn 简便,再也不需要每次都到服务器手工修改配置文件。
1 jsvnadmin简介
1.1 软件优点
- 多数据库:SVN项目配置数据保存在数据库,支持所有数据库(默认MySQL/Oracle/SQL Server)
- 多操作系统:支持Windows,Linux等操作系统给
- 权限控制:管理员可以随意分配权限、项目管理员可以管理项目成员、成员只能查看和修改自己的密码
- 支持多项目、多用户、多用户组Group:默认带有“项目管理组”、“项目开发组”、“项目测试组”
- 安全:密码加密保存
- 多协议:支持svn协议和httpd协议(从2.0开始支持Apache服务器——单库方式,从3.0开始支持Apache多库方式)
- 仓库浏览:从3.0.2开始
- 多语言:从3.0.2开始
1.2 部署方案
方案1
Linux+Apache+Subversion+MySQL+Tomcat+Svnadmin方案2
Windows+Apache+Subversion+MySQL+Tomcat+Svnadmin支持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 后重启。
2 初始化系统
2.1 升级系统软件包
|
|
2.2 关闭SELinux
|
|
2.3 安装基础依赖包
|
|
3 部署Apache
3.1 安装Apache
|
|
3.2 调整配置文件
|
|
3.3 设置Apache服务
|
|
3.4 调整防火墙规则
|
|
4 部署Subversion
4.1 安装SVN
|
|
4.2 检查Apache的svn模块
|
|
4.3 查看SVN版本
|
|
4.4 配置SVN仓库
4.4.1 创建SVN主库目录
多库模式,一份配置文件管理多个库
|
|
4.4.2 编辑配置文件subversion.conf
|
|
4.4.3 创建主库文件
|
|
5 部署MySQL
5.1 安装MySQL
|
|
5.2 设置MySQL权限
|
|
6 部署Tomcat
6.1 安装JDK
|
|
6.2 配置环境变量
|
|
6.3 安装Tomcat
|
|
6.4 调整Tomcat配置
|
|
7 部署jsvnadmin
7.1 安装jsvnadmin
|
|
7.2 部署svnadmin项目文件
|
|
7.3 初始化svnadmin数据库
7.3.1 创建svnadmin数据库
|
|
7.3.2 导入sql文件
|
|
7.3.3 启动tomcat服务
|
|