VisualSVN Server版本库搭建

VisualSVN Server版本库搭建

VisualsvnServer用途:

软件开发公司的代码是公司的核心,是公司最需要保护的文件资源,为了防止公司代码的泄露,放到公网的免费版本控制服务器商虽然方便快捷,但是会泄露公司代码,另外收费的企业版本控制软件又很贵,考虑节约成本和代码安全,小型软件开发公司一般会自己搭建内部的版本控制服务器,下面是使用SVNServer搭建免费的版本控制服务器,除了节约公司的成本之外,也为公司的代码安全,带来保障。

准备工作:

VisualsvnServer官网地址:
https://www.visualsvn.com/server/
最新的安装包可以在官网上面获取到。
本篇用到的软件可在百度云网盘下载到,连接如下:
链接:https://pan.baidu.com/s/14DQxbkWJTDIdNTVH7DqBOw
提取码:fd5y
主要使用的WindowsServer 2008R2来演示,部分操作使用Win7客户端。

VisualSVN Server的安装

运行Visual-Server-4.1.3-x64.msi,如下图:
image.png
点击接受许可,如下图:
image.png
这里我们选择安装“VisualSVN Server and Administration Tools”(文章后面会涉及到” Administration Tools Only” 选项的使用)如下图:
image.png
这里可以设置软件安装目录,仓库地址和备份目录建议不要放在C盘(我这里为了演示,无所谓了),另外端口号最好不要改,除非有冲突,默认使用https安全连接,如下图:
image.png
这里使用VisualSVNServer自己软件内部的账号和密码访问版本库,如果公司的环境是AD域环境,可以选择下面的那个,用AD域的账号和密码来访问VisualSVNServer(强烈推荐这种方式).我这里没有搭建AD域环境,所以选择VisualSVNServer内置的账号密码来做演示。如下图:
image.png
配置设置好之后,点击“Install”来安装,如下图:
image.png
安装完成之后,去掉默认勾选的启动管理器,为了防止后面**软件失败(其实不勾选好像也可以**成功)。如下图:
image.png
在**软件之前,最好把SVNServer的服务停掉,虽然不停掉服务也可以**成功,但是我还是先停掉服务了(心里作用),如下图:点击开始菜单>运行>输入:services.msc
image.png
image.png
找到VisualSVN Server那个服务,右键,选择停止,如下图:
image.png
然后把**软件“VisualSVN_Server_Enterprise_Patch_v1.4_By_DFoX.exe”复制到SVNServer安装目录下(我这里是“C:\Program Files\VisualSVN Server\bin”),如下图:
image.png
运行这个软件需要安装.Net Framework4.0以上,如果系统没有安装会报这个错误,如果个人没有的话,那么自行安装,这里不再赘述。
image.png
然后,点击**软件,右键,以管理员身份运行,界面运行之后,点击Patch,**,如下图:
image.png
**成功提示:
image.png
然后把License那一坨字符串全部复制(最上面和最下面的虚线也要复制),如下图:
image.png
这时在开始菜单打开VisualSVN Server Manager,如下图:
image.png
点击,Update license,如下图:
image.png
把复制的字符,粘贴进去,如下图:
image.png
这样就可以看到是企业版本的license了,如图:
image.png
然后,我们把VisualSVN Server停止的服务启动,如下图:
image.png
这时,整个VisualSVN Server服务器已经初步搭建好了,功能可以正常运转了,如下图:
image.png

VisualSVN Server创建用户和组及创建版本库:

首先,创建用户,如图:
image.png
设置用户名和密码,如下图:
image.png
然后,创建组,组的功能是把用户添加到组里面管理授权,点击添加组,如下图:
image.png
创建组的时候,就可以把刚才创建用户添加到组里面了,如下图:
image.png
最后,创建仓库,如下图:
image.png
默认选择FSFS,点击下一步,如下图:
image.png
对这个仓库起个名字(实际工作中也就是研发项目的名字),如下图:
image.png
创建一个空的版本库,如下图:
image.png
这里设置范围的权限,默认是所有人都可以访问,可以选择自定义,对特定的组和用户授权,另外如果是在AD域的环境下,并且安装的时候选择使用AD域做身份验证,那么这里选择的用户和组是AD域里面定义的,我这里是工作组环境。点击“custom”配置用户和组的访问权限,如下图:
image.png
点击添加用户或者组,如下图:
image.png
这里勾选刚才创建的ProjectAGroup组,如下图:
image.png
对组设置访问权限为可读可写,(Alice用户在这个组内,所以Alice对这个版本库有访问权限),如下图:
image.png
点击“Create”创建,那么开始创建版本库,如下图:
image.png
版本库创建完成之后,https://WIN-036LR2M3C05/svn/MyProjectA显示的是版本库的路径,把这个路径发送给开发人员,他们就可以根据这个路径访问到版本库了,如下图:
image.png
如果在工作组中,有可能客户端会访问不到这个路径,因为计算机根据名称有可能找不到这个路径,可以把https://WIN-036LR2M3C05/svn/MyProjectA/修改成https://192.168.1.107/svn/MyProjectA把计算机名称修改成计算机的ip地址的形式,把修改过后的路径重新发给开发人员就可以访问到了。以下的几个步骤需要到客户端安装了TortoiseSVN之后才能操作(本篇主要讲SVNServer的操作,SVN客户端的操作这里不再演示,大家了解一下报错信息即可,以下几步不需要操作)报错信息如下图所示:
image.png
修改之后的访问地址如下图所示:
image.png
这里连接到SVNServer服务器了,需要输入账号密码,如下图:
image.png
输入在服务器创建的用户和密码,如下图:
image.png
从版本库下载到本地已经完成,如下图:
image.png

VisualSVN Server常见使用功能

回到VisualSVN Server服务器,如果在项目开发过程中,需要把新的用户添加进来,那么可以对着版本库右键,选择所有任务>Manage Security添加组或者用户,如下图:
image.png
在弹出的窗口,添加想要的组或者用户,如下图:
image.png
点击打开事件浏览器,如下图:
image.png
可以在系统里面查看到VisualSVN的事件,如下图:
image.png
再点击配置日志,如下图:
image.png
开启访问日志和团队对操作的日志,如图:
image.png
可以把其他电脑的已经有的版本库导入进来,点击导入已经存在的版本库,如下图:
image.png
这里选择从其他位置复制版本库,如下图:
image.png
一般的版本库都会包含以下文件夹:conf,db,hooks,locks,文件:format,README,svn如下图:
image.png
把这个版本库复制到VisualSVN Server服务器的C盘下,然后选择该项目的路径,如下图:
image.png
给版本库起一个名字,做好和原来的一模一样,然后,点击“Import”,完成导入版本库的操作,如下图:
image.png
导入完成之后,如下图所示:
image.png

版本库的备份和还原:

假如在其他服务器已经安装了VisualSVN Server服务器,由于某种原因需要把这个版本库迁移到新的VisualSVN Server上面,那么就可以先备份旧的版本库,然后再还原到新的版本库上面去,其他电脑VisualSVN Server服务器的版本库内容如下图所示:
image.png
在VisualSVN Server管理界面,点击命令行菜单栏,如下图:
image.png
输入:
svnadmin dump c:\Repositories\ProjectA>C:\svnbackup.dump
这个命令需要根据自己的实际情况编写,格式是:
svnadmin dump 版本库的目录>备份的文件名.dump
如下图:
image.png
备份成功如下图所示,然后把备份的文件复制到新的VisualSVN Server服务器上面。
image.png
在新的VisualSVN Server服务器点击导入已经存在的版本库,如下图:
image.png
选择读取一个备份的文件,如下图:
image.png
选择备份的文件,如下图:
image.png
给需要还原的仓库起一个项目名称,最好和原来的项目名保持一致,如下图:
image.png
这里设置用户对这个版本库的访问权限,设置好之后,点击“Import”,如下图:
image.png
还原成功之后,如下图所示:
image.png

VisualSVN Server的远程管理:

我们可以远程管理VisualSVN Server,这样就不用自己每次都到服务器上面去操作,点击VisualSVN-Server-4.1.3-x64.msi软件,在自己使用的电脑上安装VisualSVN Server管理器,如下图:
image.png
勾选同意许可,如下图:
image.png
这里我们只安装管理工具(Administration Tools Only),如下图:
image.png
软件安装目录,默认即可,如下图:
image.png
这个非常快,立马就安装好了,如下图:
image.png
打开VisualSVN Server 管理器,我们点击连接远端的VisualSVN Server服务器,如下图:
image.png
输入远端VisualSVN Server的ip地址,如下图:
image.png
一般情况下会提示RPC服务器拒绝访问或者服务器不可用,这时因为远端的VisualSVN Server服务器没有配置好,如下图:
image.png
回到VisualSVN Server服务器上面把相应的服务器开起来,在开始>命令提示符,右键,以管理员身份运行,如下图:
image.png
启用一条例外规则:
netsh advfirewall firewall set rule group=“windows management instrumentation (wmi)” new enable=yes
如下图:
image.png
也可以通过控制面板的windows 防火墙来设置,如下图:
image.png
选中“windows management instrumentation (wmi)”如下图:
image.png
设置好之后,还需要在服务器管理器>配置》本地用户和组》组》双击VisualSVN Server Admins,添加可以远程管理这台服务器的VisualSVN Server服务。默认添加的是Administrator管理员,也可以添加其他用户账号。如下图:
image.png
在Distributed COM Users组里面也需要添加相应的账号,如下图:
image.png
并且确定以下服务器都已经启动了,如下图:
image.png
image.png
完善以上设置,那么可以在自己的电脑测试连接了。
这里特别注意的是:登录的这台电脑的账号名和远端电脑设置的必须是一样的,也就是把账号添加到(VisualSVN ServerAdmins和Distributed COM Users组里面账号,也就是刚才设置的Administrator账号),并且密码和需要远端访问的密码也是一样的(如果是AD域环境的话,可能会方便一些)这里我电脑登录的账号是Administrator,并且密码和远端服务器的一样,我输入远端服务器的IP地址,点击OK,如下图:
image.png
连接远端计算机成功!如下图:
image.png
远端服务器上面的版本库都可以在自己电脑上面管理了,如下图:
image.png

总结:

VisualSVN Server内置了Apache HTTP Server和Apache Subversion组件,部署起来非常简单,并且是免费的(有收费版本)非常适合小型的开发公司节约成本,借助TortoiseSVN客户端的使用,可以说是研发人员非常好的一个方案更新迭代代码。