一、SVN简介
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
SVN采用客户端/服务器体系,项目的各种版本都存储在服务器上,程序开发人员首先将从服务器上获得一份项目的最新版本,并将其复制到本机,然后在此基础上,每个开发人员可以在自己的客户端进行独立的开发工作,并且可以随时将新代码提交给服务器。当然也可以通过更新操作获取服务器上的最新代码,从而保持与其他开发者所使用版本的一致性。
在windwos和linux上都可以搭建。在windwos上常用visualsvn进行搭建,可以提供windwos的管理配置界面。在linux上的话,这里推荐使用Subversion Edge。就是一个svn+apache实现的web端管理,且在linux上的安装非常简单方便。
SVN的客户端有两类,一类是基于Web的WebSVN等,另一类是以Tortoise SVN为代表的客户端软件。本文介绍的是第二类的安装部署方式。
二、环境准备
安装ssubversionedge要求如下:
- Java 1.6 or later must be installed. We recommend the JRE provided by
Sun/Oracle. When testing on 64-bit Linux we have used the 64-bit JVM. - Python 2.4 to 2.7 must be installed.
Subversion Edge的运行需要java环境,所以要安装jdk。并设置JAVA_HOME的环境变量。
1、下载安装包并解压:
tar zxvf jdk-8u211-linux-x64.tar.gz
2、JDK安装参照我的另外一篇博客,连接如下
https://blog.csdn.net/carefree2005/article/details/111314687
3、centos7默认安装了jdk1.8和python2.7
本实例操作系统版本为centos7.6
[root@test1 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@test1 ~]# java -version
openjdk version “1.8.0_181”
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
[root@test1 opt]# python --version
Python 2.7.5
三、SVN安装部署
1、下载ssubversionedge软件包
此处下载的版本为ssubversionedge5.2.4
#wget https://www.collab.net/sites/default/files/downloads/CollabNetSubversionEdge-5.2.4_linux-x86_64.tar.gz
2、解压软件包
#tar -zxvf CollabNetSubversionEdge-5.2.4_linux-x86_64.tar.gz
3、创建svn用户
#useradd svn
#cd /opt
#chown -R svn.svn csvn
4、安装程序
#cd csvn
#sudo -E bin/csvn install #普通用户执行安装步骤
#bin/csvn install #root用户执行安装步骤
如果二选一执行即可
执行完install后提示如下
[root@test1 csvn]# bin/csvn install
Detected RHEL or Fedora:
Installing the CSVN Console daemon…
Setting RUN_AS_USER to: ‘root’. Please edit ‘…/data/conf/csvn.conf’ if this needs to be adjusted
Setting JAVA_HOME to: ‘’. Please edit ‘…/data/conf/csvn.conf’ if this needs to be adjusted.
5、编辑配置文件data/conf/csvn.conf
按照如下提示修改
RUN_AS_USER=svn
JAVA_REQUIRED_VERSION=1.8
JAVA_HOME=/usr/local/java
修改完成后保存退出
5、启动csvn
#bin/csvn start
[root@test1 csvn]# bin/csvn start
Starting CSVN Console…
…
CSVN Console started
Waiting for application to initialize (this may take a minute)…
WARNING: CSVN Console timed-out waiting for http://localhost:3343/csvn
You have mail in /var/spool/mail/root
6、登录管理控制台
默认密码为admin/admin
7、启动svn服务
至此ssubversionedge软件安装完成,可以访问http://ip:3343/csvn登录SVN管理控制台了。
四、svn Edge访问规则配置
首先在用户页面定义用户,然后在版本库页面,手工填写访问规则。
以下面的配置为例(实际配置中应删除“//”及其后的注释):
[groups] //定义用户组
sysadmin = admin //每个组包含的成员
part1 = y1,y2,y3,test
part2 = x1,x2,x3
[/] //SVN根访问权限设置
* = r
admin = rw //给admin用户授权
[svndata:/] //SVN版本库svndata访问权限设置
* = //=空表示显示拒绝,*表示任何用户,此规则需放置在明确授权规则之后
@sysadmin = rw //给用户组sysadmin授权读写
[svndata:/part1] //SVN版本库svndata下的part1目录访问权限设置
@sysadmin = rw
y1 = rw
y2 = r
* =
[svndata:/part1/zhoubao] //SVN版本库svndata下的part1目录下的周报目录访问权限设置
@sysadmin = rw
@part1 = rw
[svndata:/part2]
@sysadmin = rw
x1 = rw
x3 = r
* =
[svndata:/part2/zhoubao]
@sysadmin = rw
@part2 = rw
五、svn服务器配置
一)、 SVN设置
1. server settings
包括:host(主机名)、端口、版本库父文件夹、Backup Directory、管理员、email帐号等
操作:Administrator(管理)→Server Settings
保存成功后,点击“管理”菜单,需要重新启动subversion服务方可访问SVN库
2. Authentication settings
操作:Administrator(管理)→Authentication
默认http本地验证。
3. Mail server
操作:Administrator(管理)→Mail Server
要配置此步骤,需要在第一步设置有效的管理员邮箱
保存之前,可先Test Settings验证下email设置是否成功,524627027@qq为示例,根据管理员个人邮箱账户信息填写。
4. Log settings
操作:Administrator(管理)→Logging
Delete log files older than:设置需要保留log的天数,0:默认不删除
5. Backup Schedule
操作:版本库Backup Schedule
Type of Job:Full Dump Backup(增量备份)、Hotcopy Backup(全量备份)、Cloud Services(此备份需要激活注册方可使用)
备份任务设置完成后,任务内容如下图:
备份任务完成后,可以在Jobs里查看完成状态,(Administrator→Jobs)如下图:
二)、 配置库管理
1. Create a repository
操作:版本库版本库列表:
点击“创建”,创建新的SVN库
被创建库的信息如下:
2. Create a repository template
操作:Repositories(版本库)→ Manage Templates→Create
创建库目录模板的前提条件:dump临时压缩文件存在
库目录模板设置方法
创建一个空模板库→检出并提交模板目录→设置”scheduled jobs”即可创建完成。
3. Connect an existing repository
- Connect existing repository方法
1、修改subversion edge数据库存放的父目录
2、移动已存在的库到subversion edge库父目录 - 修改subversion edge数据库存放的父目录
操作:管理server settings,修改”版本库父文件夹”路径 - 移动已存在的库到subversion edge库父目录
A、移动SVN库
B、版本库版本库列表→discover(同步Subversion版本库)
4. Define repository access rules
操作:版本库→访问规则→edit
详细操作见第四章节内容。
与SVN库权限文件管理方式相似
Notes:你在编辑此项内容时,别人不能同时编辑。
三)、 用户管理
1. create a user account
操作:User(用户)→User List(用户列表)→Create(创建)
2. Edit a user account
操作:User(用户)→User List(用户列表)→选择需要编辑的用户
3. Edit a role
操作:User(用户)→Role List(用户列表)→选择需要编辑的角色
选择此角色列表需要添加的用户→更新
四)、 监控管理
1. 监控配置
操作:操作:Administrator(管理)→ Server Monitoring
2. 监控状态显示
操作:操作:Administrator(管理)→ Status
3. Server Logs
操作:操作:Administrator(管理)→ Server Logs
access.log:Apache 权限log日志
error.log:Subversion Apache server错误日志
console.log:控制台操作日志
subversion.log:subversion操作日志
windows-server log:服务器日志
4. 任务监控
操作:操作:Administrator(管理)→ Jobs
五)、 各个角色权限
1. 角色列表
2. Role_User
权限:只能查看版本库列表信息
3. Role_Admin_Users
权限:可查看用户、用户角色、版本库信息、创建用户等,但不可修改用户信息
4. Role_Admin_System
权限:可更新系统配置信息
5. Role_Admin_Repo
权限:管理版本库,包括版本库创建、修改、访问规则、备份、库模板设置等
6. Role_Admin_Hooks
权限:管理各个版本库的hooks脚本
点击“info”,跳入hooks脚本页面
六、window环境客户端安装及配置
1、下载SVN客户端及汉化包软件
客户端软件下载地址
https://download.csdn.net/download/carefree2005/13756325
汉化包下载地址
2、双击SVN客户端软件开始安装
按照提示一步步点击下一步即可完成安装。
3、同理完成汉化包安装
4、创建SVN文档存放目录
5、设置SVN为中文语言
6、SVN服务CheckOut
7、配置URL链接目录,前面
8、在弹窗输入个人账户密码
9、文件夹/文件创建
10、文件创建、修改、删除及提交
11、文件目录状态
12、文件夹及文件刷新
右键选择SVN更新,会更新SVN服务器上新增的或者修改过的共享文件
13、个人账户密码修改
普通用户可以申请由管理员重置密码,也可以自行修改密码
建议获取到个人账户密码后自行修改密码。
1. 使用分配的账户密码登录
登录链接:http://ip:3343/csvn/
2. 依次点击账户名、编辑
3. 点击更改密码
4. 填写完成后更新
注意密码复杂度要求,8位以上数字、字母大小写,特殊字符含3样以上。
客户端的安装及使用介绍到此介绍,开始你的svn之旅吧!