Windows下SVN服务器搭建方法整理(apache)

本节和大家谈谈Windows下SVN服务器搭建问题,在这里拿出来和大家分享一下,希望对大家有用。

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:

复制代码 代码如下:

#[general]

#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文件,并将其内容定义为类似如下

复制代码 代码如下:

#!/bin/sh

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

复制代码 代码如下:

<?php

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搭建测试服务器的内容讲解完毕,请关注本节其他相关报道。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/220998.html<

(0)
运维的头像运维
上一篇2025-04-14 20:10
下一篇 2025-04-14 20:11

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注