Windows下SVN服务器搭建方法整理(apache)
1,软件下载
Windows下SVN服务器搭建,下载Subversion服务器程序。到官方网站的下载二进制安装文件,来到二进制包下载部分,找到WindowsNT,2000,XPand2003部分,然后选择"thisdirectory",这样我们可以看到许多下载的内容,目前可以下载svn-1.4.0-setup.exe。下载Subversion的Windows客户端TortoiseSVN。TortoiseSVN是扩展WindowsShell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。官方网站是TortoiseSVN,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi。
2,服务器和客户端安装
Windows下SVN服务器搭建中,服务器安装,直接运行svn-1.4.0-setup.exe,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。安装TortoiseSVN,同样直接运行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。
3,建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:svnadmincreateE:\svndemo\repository就会在目录E:\svndemo\repository下创建一个版本库。我们也可以使用TortoiseSVN图形化的完成这一步:在目录E:\svndemo\repository下"右键->TortoiseSVN->CreateRepositoryhere...“,然后可以选择版本库模式,这里使用默认即可,然后就创建了一系列目录和文件。
4,配置用户和权限
Windows下SVN服务器搭建,来到E:\svndemo\repository\conf目录,修改svnserve.conf:
#password-db=passwd
改为:
[general]
password-db=passwd然后修改同目录的passwd文件,去掉下面三行的注释:
#[users]
#harry=harryssecret
#sally=sallyssecret
最后变成:
[users]
harry=harryssecret
sally=sallyssecret
5,运行独立服务器
在任意目录下运行:svnserve-d-rE:\svndemo\repository我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。
在windows服务里运行:sccreatesvnservicebinPath="D:\ProgramFiles\Subversion\bin\svnserve.exe--service-rE:\SVN"DisplayName="SvnService"depend=Tcpipstart=auto
6,初始化导入
Windows下SVN服务器搭建,来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\initproject,目录下有一个readme.txt文件:右键->TortoiseSVN->Import...
URLofrepository输入“svn://localhost/”ok完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/”。
两种方法实现SVN搭建测试服务器
本节和大家学习一下如何利用SVN搭建测试服务器,常用的有两种方法,这里就向大家简单介绍一下,欢迎大家能和我一起学习SVN搭建测试服务器的方法。
在正规的团队开发流程中,测试服务器测试是必不可少的一个环节,如何简单快捷的部署测试服务器将是本文的重点。本文的实际环境是CentOS+PHP+MySQL+SVN,将通过两种不同的途径来实现部署测试服务器的最终目的。我们来看一下SVN搭建测试服务器的第一种方法。
第一种,post-commit
post-commit本身是SVN系列钩子中的一个,是为了更方便对SVN使用中的常见操作进行处理,建立测试服务器的步骤如下
在hooks目录,创建post-commit文件,并将其内容定义为类似如下
exportLANG=en_US.UTF-8
svncheckout--usernamekimi--passwordpasswordsvn://10.0.0.8/projects//wwwroot/projects.ismole.net
chownwww:www/wwwroot/projects.ismole.net-Rf
说明:
1.#!/bin/sh说明是执行shell命令
2.exportLANG=en_US.UTF-8是为了解决svnpostcommit中文乱码,设置本地化编码。不过SVN默认是UTF-8编码。如果字符集符合并且不设置将会出现错误,而执行不成功,错误标识为svn:Can'tconvertstringfromnativeencodingto‘UTF-8′
3.svncheckout–usernamekimi–passwordpasswordsvn://10.0.0.8/projects//wwwroot/projects.ismole.net执行SVN检出操作
4.chownwww:www/wwwroot/projects.ismole.net-Rf更改文件夹属主为适合WebServer的。
里面原有的代码全部注释掉.这里可以执行shell命令,每次commit完成后都会调用此文件。我们来看一下SVN搭建测试服务器的第二种方法介绍。
第二种,PHP检出SVN
header("Cache-Control:no-cache,must-revalidate");
$handle=popen('svncheckout--usernamekimi--passwordpasswordsvn://10.0.0.8/projects//wwwroot/projects.ismole.net','r');
$read=stream_get_contents($handle);
echo"<pre>";
printf($read);
echo"</pre>"
pclose($handle);
?>
其实这种方式只是利用PHP来执行linux命令,不过多描述。参考《PHP监控linux服务器负载》:http://www.ccvita.com/390.html
综合以上两种方式,其目的都是通过将SVN检出,并放置在相应的web目录下来实现的。这两种相互比较而言,post-commit更为简单快捷,无需更多的操作,但是对权限控制力度很小,只要有SVN的提交权限就有部署测试服务器的权限;PHP方式相比麻烦一些,但是对用户权限的控制可以专门定制相应的程序来实现,几乎可以实现任何角色对权限的控制。
在实际的使用过程中,我们目前对应用的APP调试以及合作性质的研发采用第一种方式;如果对SVN需要比较多权限控制的话,推荐采用第二种,可以囊括测试,部署,上线等各个环节。在和新浪的一个合作中,采用这种异地开发方式。本节关于SVN搭建测试服务器的内容讲解完毕,请关注本节其他相关报道。
Windows下SVN服务器搭建方法整理(apache)的更多相关文章
- Windows下SVN服务器搭建和基本操作(服务端、客户端)
自己打算打一个SVN服务器了解一下,所以顺便记录一下整个的过程 下载 服务端 https://www.visualsvn.com/server/download/ 客户端 https://www.vi ...
- windows下SVN服务器搭建--VisualSVN与TortoiseSVN的配置安装
在讲解之前,我们来思考两个问题: 1.什么是版本控制 2.为什么要用版本控制工具 ----------------------------------------------------- 版本控制工 ...
- Windows下Git服务器搭建[转]
Windows下Git服务器搭建 作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 ...
- Linux下SVN服务器搭建配置
Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...
- Linux centos7 下 svn 服务器搭建
摘自:https://www.cnblogs.com/mymelon/p/5483215.html 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在 ...
- linux(centos7)下SVN服务器搭建手札
linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! ...
- linux(centos7)下SVN服务器搭建
https://www.cnblogs.com/fuyuanming/p/6123395.html linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINU ...
- Windows下SVN服务器的搭建步骤
1.下载svn服务端和客户端 服务端VISUALSVN SERVER:https://www.visualsvn.com/ 客户端TortoiseSVN:https://tortoisesvn.net ...
- SVN服务器搭建(与apache整合)
一.SVN介绍 SVN是一个版本控制工具,Subversion的版本库(repository),就是位于服务器,统一管理和储存数据的地方. 二.SVN数据存储方式 在Subversion中,版本库的数 ...
随机推荐
- Java之Set的使用场景
2.Set使用场景 API介绍: java.util.Set接口和java.util.List接口一样,同样继承自Collection接口, 它与Collection接口中的方法基本一致,并没有对Co ...
- Strategic Game HDU - 1054(最小顶点覆盖)
最小顶点覆盖:用最少的点,让每条边都至少和其中一个点关联: ...以为自己很聪明..用边连边...最后还是点连点 哎.... hc 写的 匈牙利足够///// #include <iostr ...
- 【BZOJ3745】Norma(CDQ分治)
[BZOJ3745]Norma(CDQ分治) 题面 BZOJ 洛谷 题解 这种问题直接做不好做,显然需要一定的优化.考虑\(CDQ\)分治. 现在唯一需要考虑的就是跨越当前中间节点的所有区间如何计算答 ...
- [Coderforces600E] Lomsat gelral
大意是每个点有一个颜色,询问以每个点为根的子树中出现次数最多的颜色是谁,如果有多个输出编号和. 这个东西用数据结构是不太好做的,考虑优化暴力. 首先最裸的的暴力就是在dfs序上跑莫队,但因为是树的结构 ...
- POJ 2251 Dungeon Master /UVA 532 Dungeon Master / ZOJ 1940 Dungeon Master(广度优先搜索)
POJ 2251 Dungeon Master /UVA 532 Dungeon Master / ZOJ 1940 Dungeon Master(广度优先搜索) Description You ar ...
- easyui的tab加载页面中的form重复提交
http://blog.csdn.net/fxz1982/article/details/8987769 Easyui中的tabs组件以href方式加载目标页面,如果目标页面中有dialog或者win ...
- HDU 4280 ISAP+BFS 最大流 模板
Island Transport Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- VirtualBox安装Centos后实现文件夹共享
不同虚拟机中的系统和windows之间实现文件共享方式也不一样,在VMWare虚拟机请参考链接:http://www.cnblogs.com/vincentfu/p/5402666.html 进入主题 ...
- 构造代码块----java基础总结
前言:之前一直不知道构造代码块的意思是什么,只是知道他的具体的表现形式,因为经常在面试题中看到,所以准备好好写写. 作用: 给对象进行初始化,对象一建立就运行,而且优于构造方法运行. 和构造方法的区别 ...
- P1858 多人背包
P1858 多人背包 题目描述 求01背包前k优解的价值和 要求装满 调试日志: 初始化没有赋给 dp[0] Solution 首先补充个知识点啊, 要求装满的背包需要初始赋 \(-inf\), 边界 ...