Windows下SVN服务器搭建方法整理(apache)
程序员文章站
2022-04-25 11:57:23
本节和大家谈谈windows下svn服务器搭建问题,在这里拿出来和大家分享一下,希望对大家有用。 1,软件下载 windows下svn服务器搭建,下载subversion服...
本节和大家谈谈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搭建测试服务器的内容讲解完毕,请关注本节其他相关报道。
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搭建测试服务器的内容讲解完毕,请关注本节其他相关报道。
推荐阅读
-
windows下svn服务器快速搭建图文教程
-
linux下搭建svn+apache+ssl服务器的步骤教程
-
Windows下 Apache PHP 环境搭建的方法
-
Windows下SVN服务器搭建方法整理(apache)
-
Windows下搭建svn服务器简明教程
-
WINDOWS下搭建SVN服务器端的步骤分享(Subversion)
-
windows下svn服务器快速搭建图文教程
-
教你在windows下搭建MQTT服务器的方法
-
Windows Server 2012_Apache2.4.12_PHP5.6.8_MySql5.6.24.0_Svn1.8.13服务器搭建
-
Windows Server 2012_Apache2.4.12_PHP5.6.8_MySql5.6.24.0_Svn1.8.13服务器搭建