码迷,mamicode.com
首页 > 其他好文 > 详细

SVN服务器创建

时间:2015-04-19 10:12:17      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:java   svn   服务器   

当做大的项目是,svn是代码管理的好工具,如果是用自己的服务器,那么需要搭建SVN服务器。 

    Subversion是一款非常优秀的svn服务器工具,笔者采用VisualSVN server ,因为它集成了apache,不用再进行过多的配置。

     首先下载安装 VisualSvn Server

      技术分享

     选择VisualSVN ,然后下载。

  技术分享


        Download 之后,进行VisualSVN的安装

       技术分享

     点next

      技术分享

       继续next

     技术分享
    技术分享

   location 选择安装VisualSVN Server 的目录

    Repositories 是代码版本位置

    Server Port为svn服务器的端口,默认为443,启用https连接

    安装完成后

    技术分享

  

接下来我们安装TortoiseSVN,双击安装包,进入下一步.如图:

技术分享

点击Next,进入下一步,如图:

技术分享

选择接受,然后点击Next,进入下一步,如图:

技术分享

选择安装路径,然后点击Next,进入下一步,如图:

技术分享

点击Install,开始安装,如图:

技术分享

等待安装完成,安装完成后如图:

技术分享

接下来我们安装简体中文语言包,这个非常简单,一路Next就行,就不截图了.语言包安装完成以后在桌面任意空白地方单击鼠标右键,会在右键菜单里找到SVN,如图:

技术分享

选择设置,进入下一步,如图:

技术分享

在右边的语言里面选择简体中文,然后点击应用,确定,汉化即完成,如图:

技术分享

首先打开VisualSVN Server Manager,如图:

技术分享

可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等.要建立版本库,需要右键单击左边窗口的Repositores,如图:

技术分享

在弹出的右键菜单中选择Create New Repository或者新建->Repository,进入下一步:

技术分享

输入版本库名称,勾上Create default structure复选框(推荐这么做).点击OK,版本库就创建好了,版本库中会默认建立trunk,branches,tags三个文件夹,如图:

技术分享

这时候我们将项目导入到版本库中,找到你的项目文件夹,在项目文件夹上点击鼠标右键,找到SVN菜单,选择导入,如图:

技术分享

在弹出的对话框中填上版本库URL,这个URL可以从VisualSVN Server Manager中获取,在你的版本库上单击右键,选择Copy URL to Clipboard,这样就把版本库URL复制到你的剪贴版了.如图:

技术分享

将复制的版本库URL粘贴上,在URL后面加上trunk子路径.然后在导入信息里面填上导入信息"导入项目到版本库".如图:

技术分享

点击确定,所选中的项目就会被导入到版本库中.如图:

技术分享

项目导入到版本库以后,不能随便让谁都能够读写版本库,所以需要建立用户组和用户.

在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create User或者新建->User,如图:

技术分享

在弹出的对话框中填写User name和Password,然后点击OK,如图:

技术分享

用相同的方式分别创建用户Develpoer1,Develpoer2,Develpoer3,Test1,Test2,Manger六个用户,分别代表3个开发人员,两个测试人员和一个项目经理,如图:

技术分享

然后我们建立用户组,在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create Group或者新建->Group,如图:

技术分享

在弹出窗口中填写Group name为Developers,然后点Add按钮,在弹出的窗口中选择三个Developer,加入到这个组,然后点Ok,如图:

技术分享

用相同的方式创建组Managers,Testers,如图:

技术分享

接下来我们给用户组设置权限,在MyRepository上单击右键,选择属性,如图:

技术分享

在弹出的对话框中,选择Security选项卡,点击Add按钮,选中Developers,Managers,Testers三个组,然后添加进来,给Developers,Managers权限设置为Read/Write,Tester权限设置为Read Only,如图:

技术分享

到此,服务端就完成了.

接下来,我们用客户端去检出代码,在桌面空白处单击右键,选择SVN检出,在弹出的对话框中填写版本库URL(具体获取方式,上面讲上传项目到版本库的时候讲过),选择检出目录,点击确定.如图:

技术分享

开始检出项目,如图:

技术分享

检出完成之后,我们打开工作副本文件夹,会看到所有文件和文件夹都有一个绿色的√.如图:

技术分享

至此,创建版本库和使用TortoiseSVN导入项目,检出项目已经介绍完毕.

  此时在一个局域网的人就可以用SVN客户端提交代码了。

 笔者的服务器是阿里云主机,所以必须得让VisualSvn sever能让外网访问,只要把地址改为 https://你的域名或IP/svn/yc/

 yc是建立的版本库。

  然后就可以通过浏览器web的方式或者 svn客户端提交代码。但是当采用https连接时,笔者的svn始终连不上visualsvn,已连接就崩溃,最后笔者只好换成了HTTP连接,自定义端口为8080

  但是接下来的问题是,笔者的目的是用svn管理服务器apache下的网站目录,方便的提交代码,并更新网站目录。

  当笔者用svn提交成功时,发现并不能改变网站目录下的文件。

   百度了好久才发现,服务器端的ViusalSVN需要编辑一个hooks钩子,把svn客户端提交的代码更新到相应的网站目录。而不是它的版本仓库。

   具体方法是,在服务器和客户端分别用svn checkout,注意要同时检出,以便版本一样.然后编写svn 钩子

    

实施:

1.创建web站点目录 d:\www

2.将项目检出到d:\www(可在服务器上安装tortoiseSVN来检出)

3.右击我的电脑--管理--服务,找到visualSVN serve ,右击选择属性---登陆--选择本地系统用户(允许与桌面交互)
保存,重启visualsvn服务

4.在代码库的hooks目录里新建post-commit.bat,贴入以下代码:


1 @echo off
2 SET REPOS=%1
3 SET REV=%2
4 SET DIR=%REPOS%/hooks
5 SET WORKING_COPY=D:\www
6 SET PATH=%PATH%;
7 svn update %WORKING_COPY% --username admin --password admin
admin admin是你的svn登陆帐户密码。 

PS.建议你需要把svn安装目录下的bin目录添加到你的环境变量中。


       如果小乌龟svn提交时 提示 fail start hooks, 那么应该是VisualSVN Server 读写权限的问题。

       解决办法:  在windows 服务中,修改VisualSVN服务的登录账号为本机。。

     就可以了。


SVN服务器创建

标签:java   svn   服务器   

原文地址:http://blog.csdn.net/mll999888/article/details/45126735

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!