Windows下SVN服務(wù)器搭建方法整理(apache)
更新時間:2011年11月29日 15:03:13 作者:
本文向大家介紹一下Windows下SVN服務(wù)器如何搭建,主要包括軟件下載,服務(wù)器和客戶端安裝,配置用戶和權(quán)限,運(yùn)行獨(dú)立服務(wù)器和初始化導(dǎo)入等內(nèi)容
本節(jié)和大家談?wù)刉indows下SVN服務(wù)器搭建問題,在這里拿出來和大家分享一下,希望對大家有用。
1,軟件下載
Windows下SVN服務(wù)器搭建,下載Subversion服務(wù)器程序。到官方網(wǎng)站的下載二進(jìn)制安裝文件,來到二進(jìn)制包下載部分,找到WindowsNT,2000,XPand2003部分,然后選擇"thisdirectory",這樣我們可以看到許多下載的內(nèi)容,目前可以下載svn-1.4.0-setup.exe。下載Subversion的Windows客戶端TortoiseSVN。TortoiseSVN是擴(kuò)展WindowsShell的一套工具,可以看作Windows資源管理器的插件,安裝之后Windows就可以識別Subversion的工作目錄。官方網(wǎng)站是TortoiseSVN,下載方式和前面的svn服務(wù)器類似,在Download頁面的我們可以選擇下載的版本,目前的最高穩(wěn)定版本的安裝文件為TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi。
2,服務(wù)器和客戶端安裝
Windows下SVN服務(wù)器搭建中,服務(wù)器安裝,直接運(yùn)行svn-1.4.0-setup.exe,根據(jù)提示安裝即可,這樣我們就有了一套服務(wù)器可以運(yùn)行的環(huán)境。安裝TortoiseSVN,同樣直接運(yùn)行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按照提示安裝即可,不過最后完成后會提示是否重啟,其實(shí)重啟只是使svn工作拷貝在windows中的特殊樣式生效,與所有的實(shí)際功能無關(guān),這里為了立刻看到好的效果,還是重新啟動機(jī)器。
3,建立版本庫(Repository)
運(yùn)行Subversion服務(wù)器需要首先要建立一個版本庫(Repository),可以看作服務(wù)器上存放數(shù)據(jù)的數(shù)據(jù)庫,在安裝了Subversion服務(wù)器之后,可以直接運(yùn)行,如:svnadmincreateE:\svndemo\repository就會在目錄E:\svndemo\repository下創(chuàng)建一個版本庫。我們也可以使用TortoiseSVN圖形化的完成這一步:在目錄E:\svndemo\repository下"右鍵->TortoiseSVN->CreateRepositoryhere...“,然后可以選擇版本庫模式,這里使用默認(rèn)即可,然后就創(chuàng)建了一系列目錄和文件。
4,配置用戶和權(quán)限
Windows下SVN服務(wù)器搭建,來到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,運(yùn)行獨(dú)立服務(wù)器
在任意目錄下運(yùn)行:svnserve-d-rE:\svndemo\repository我們的服務(wù)器程序就已經(jīng)啟動了。注意不要關(guān)閉命令行窗口,關(guān)閉窗口也會把svnserve停止。
在windows服務(wù)里運(yùn)行:sccreatesvnservicebinPath="D:\ProgramFiles\Subversion\bin\svnserve.exe--service-rE:\SVN"DisplayName="SvnService"depend=Tcpipstart=auto
6,初始化導(dǎo)入
Windows下SVN服務(wù)器搭建,來到我們想要導(dǎo)入的項目根目錄,在這個例子里是E:\svndemo\initproject,目錄下有一個readme.txt文件:右鍵->TortoiseSVN->Import...
URLofrepository輸入“svn://localhost/”ok完成之后目錄沒有任何變化,如果沒有報錯,數(shù)據(jù)就已經(jīng)全部導(dǎo)入到了我們剛才定義的版本庫中。
需要注意的是,這一步操作可以完全在另一臺安裝了TortoiseSVN的主機(jī)上進(jìn)行。例如運(yùn)行svnserve的主機(jī)的IP是133.96.121.22,則URL部分輸入的內(nèi)容就是“svn://133.96.121.22/”。
兩種方法實(shí)現(xiàn)SVN搭建測試服務(wù)器
本節(jié)和大家學(xué)習(xí)一下如何利用SVN搭建測試服務(wù)器,常用的有兩種方法,這里就向大家簡單介紹一下,歡迎大家能和我一起學(xué)習(xí)SVN搭建測試服務(wù)器的方法。
在正規(guī)的團(tuán)隊開發(fā)流程中,測試服務(wù)器測試是必不可少的一個環(huán)節(jié),如何簡單快捷的部署測試服務(wù)器將是本文的重點(diǎn)。本文的實(shí)際環(huán)境是CentOS+PHP+MySQL+SVN,將通過兩種不同的途徑來實(shí)現(xiàn)部署測試服務(wù)器的最終目的。我們來看一下SVN搭建測試服務(wù)器的第一種方法。
第一種,post-commit
post-commit本身是SVN系列鉤子中的一個,是為了更方便對SVN使用中的常見操作進(jìn)行處理,建立測試服務(wù)器的步驟如下
在hooks目錄,創(chuàng)建post-commit文件,并將其內(nèi)容定義為類似如下
#!/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說明是執(zhí)行shell命令
2.exportLANG=en_US.UTF-8是為了解決svnpostcommit中文亂碼,設(shè)置本地化編碼。不過SVN默認(rèn)是UTF-8編碼。如果字符集符合并且不設(shè)置將會出現(xiàn)錯誤,而執(zhí)行不成功,錯誤標(biāo)識為svn:Can'tconvertstringfromnativeencodingto‘UTF-8′
3.svncheckout–usernamekimi–passwordpasswordsvn://10.0.0.8/projects//wwwroot/projects.ismole.net執(zhí)行SVN檢出操作
4.chownwww:www/wwwroot/projects.ismole.net-Rf更改文件夾屬主為適合WebServer的。
里面原有的代碼全部注釋掉.這里可以執(zhí)行shell命令,每次commit完成后都會調(diào)用此文件。我們來看一下SVN搭建測試服務(wù)器的第二種方法介紹。
第二種,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);
?>
其實(shí)這種方式只是利用PHP來執(zhí)行l(wèi)inux命令,不過多描述。參考《PHP監(jiān)控linux服務(wù)器負(fù)載》:http://www.ccvita.com/390.html
綜合以上兩種方式,其目的都是通過將SVN檢出,并放置在相應(yīng)的web目錄下來實(shí)現(xiàn)的。這兩種相互比較而言,post-commit更為簡單快捷,無需更多的操作,但是對權(quán)限控制力度很小,只要有SVN的提交權(quán)限就有部署測試服務(wù)器的權(quán)限;PHP方式相比麻煩一些,但是對用戶權(quán)限的控制可以專門定制相應(yīng)的程序來實(shí)現(xiàn),幾乎可以實(shí)現(xiàn)任何角色對權(quán)限的控制。
在實(shí)際的使用過程中,我們目前對應(yīng)用的APP調(diào)試以及合作性質(zhì)的研發(fā)采用第一種方式;如果對SVN需要比較多權(quán)限控制的話,推薦采用第二種,可以囊括測試,部署,上線等各個環(huán)節(jié)。在和新浪的一個合作中,采用這種異地開發(fā)方式。本節(jié)關(guān)于SVN搭建測試服務(wù)器的內(nèi)容講解完畢,請關(guān)注本節(jié)其他相關(guān)報道。
1,軟件下載
Windows下SVN服務(wù)器搭建,下載Subversion服務(wù)器程序。到官方網(wǎng)站的下載二進(jìn)制安裝文件,來到二進(jìn)制包下載部分,找到WindowsNT,2000,XPand2003部分,然后選擇"thisdirectory",這樣我們可以看到許多下載的內(nèi)容,目前可以下載svn-1.4.0-setup.exe。下載Subversion的Windows客戶端TortoiseSVN。TortoiseSVN是擴(kuò)展WindowsShell的一套工具,可以看作Windows資源管理器的插件,安裝之后Windows就可以識別Subversion的工作目錄。官方網(wǎng)站是TortoiseSVN,下載方式和前面的svn服務(wù)器類似,在Download頁面的我們可以選擇下載的版本,目前的最高穩(wěn)定版本的安裝文件為TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi。
2,服務(wù)器和客戶端安裝
Windows下SVN服務(wù)器搭建中,服務(wù)器安裝,直接運(yùn)行svn-1.4.0-setup.exe,根據(jù)提示安裝即可,這樣我們就有了一套服務(wù)器可以運(yùn)行的環(huán)境。安裝TortoiseSVN,同樣直接運(yùn)行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按照提示安裝即可,不過最后完成后會提示是否重啟,其實(shí)重啟只是使svn工作拷貝在windows中的特殊樣式生效,與所有的實(shí)際功能無關(guān),這里為了立刻看到好的效果,還是重新啟動機(jī)器。
3,建立版本庫(Repository)
運(yùn)行Subversion服務(wù)器需要首先要建立一個版本庫(Repository),可以看作服務(wù)器上存放數(shù)據(jù)的數(shù)據(jù)庫,在安裝了Subversion服務(wù)器之后,可以直接運(yùn)行,如:svnadmincreateE:\svndemo\repository就會在目錄E:\svndemo\repository下創(chuàng)建一個版本庫。我們也可以使用TortoiseSVN圖形化的完成這一步:在目錄E:\svndemo\repository下"右鍵->TortoiseSVN->CreateRepositoryhere...“,然后可以選擇版本庫模式,這里使用默認(rèn)即可,然后就創(chuàng)建了一系列目錄和文件。
4,配置用戶和權(quán)限
Windows下SVN服務(wù)器搭建,來到E:\svndemo\repository\conf目錄,修改svnserve.conf:
復(fù)制代碼 代碼如下:
#[general]
#password-db=passwd
改為:
[general]
password-db=passwd然后修改同目錄的passwd文件,去掉下面三行的注釋:
#[users]
#harry=harryssecret
#sally=sallyssecret
最后變成:
[users]
harry=harryssecret
sally=sallyssecret
5,運(yùn)行獨(dú)立服務(wù)器
在任意目錄下運(yùn)行:svnserve-d-rE:\svndemo\repository我們的服務(wù)器程序就已經(jīng)啟動了。注意不要關(guān)閉命令行窗口,關(guān)閉窗口也會把svnserve停止。
在windows服務(wù)里運(yùn)行:sccreatesvnservicebinPath="D:\ProgramFiles\Subversion\bin\svnserve.exe--service-rE:\SVN"DisplayName="SvnService"depend=Tcpipstart=auto
6,初始化導(dǎo)入
Windows下SVN服務(wù)器搭建,來到我們想要導(dǎo)入的項目根目錄,在這個例子里是E:\svndemo\initproject,目錄下有一個readme.txt文件:右鍵->TortoiseSVN->Import...
URLofrepository輸入“svn://localhost/”ok完成之后目錄沒有任何變化,如果沒有報錯,數(shù)據(jù)就已經(jīng)全部導(dǎo)入到了我們剛才定義的版本庫中。
需要注意的是,這一步操作可以完全在另一臺安裝了TortoiseSVN的主機(jī)上進(jìn)行。例如運(yùn)行svnserve的主機(jī)的IP是133.96.121.22,則URL部分輸入的內(nèi)容就是“svn://133.96.121.22/”。
兩種方法實(shí)現(xiàn)SVN搭建測試服務(wù)器
本節(jié)和大家學(xué)習(xí)一下如何利用SVN搭建測試服務(wù)器,常用的有兩種方法,這里就向大家簡單介紹一下,歡迎大家能和我一起學(xué)習(xí)SVN搭建測試服務(wù)器的方法。
在正規(guī)的團(tuán)隊開發(fā)流程中,測試服務(wù)器測試是必不可少的一個環(huán)節(jié),如何簡單快捷的部署測試服務(wù)器將是本文的重點(diǎn)。本文的實(shí)際環(huán)境是CentOS+PHP+MySQL+SVN,將通過兩種不同的途徑來實(shí)現(xiàn)部署測試服務(wù)器的最終目的。我們來看一下SVN搭建測試服務(wù)器的第一種方法。
第一種,post-commit
post-commit本身是SVN系列鉤子中的一個,是為了更方便對SVN使用中的常見操作進(jìn)行處理,建立測試服務(wù)器的步驟如下
在hooks目錄,創(chuàng)建post-commit文件,并將其內(nèi)容定義為類似如下
復(fù)制代碼 代碼如下:
#!/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說明是執(zhí)行shell命令
2.exportLANG=en_US.UTF-8是為了解決svnpostcommit中文亂碼,設(shè)置本地化編碼。不過SVN默認(rèn)是UTF-8編碼。如果字符集符合并且不設(shè)置將會出現(xiàn)錯誤,而執(zhí)行不成功,錯誤標(biāo)識為svn:Can'tconvertstringfromnativeencodingto‘UTF-8′
3.svncheckout–usernamekimi–passwordpasswordsvn://10.0.0.8/projects//wwwroot/projects.ismole.net執(zhí)行SVN檢出操作
4.chownwww:www/wwwroot/projects.ismole.net-Rf更改文件夾屬主為適合WebServer的。
里面原有的代碼全部注釋掉.這里可以執(zhí)行shell命令,每次commit完成后都會調(diào)用此文件。我們來看一下SVN搭建測試服務(wù)器的第二種方法介紹。
第二種,PHP檢出SVN
復(fù)制代碼 代碼如下:
<?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);
?>
其實(shí)這種方式只是利用PHP來執(zhí)行l(wèi)inux命令,不過多描述。參考《PHP監(jiān)控linux服務(wù)器負(fù)載》:http://www.ccvita.com/390.html
綜合以上兩種方式,其目的都是通過將SVN檢出,并放置在相應(yīng)的web目錄下來實(shí)現(xiàn)的。這兩種相互比較而言,post-commit更為簡單快捷,無需更多的操作,但是對權(quán)限控制力度很小,只要有SVN的提交權(quán)限就有部署測試服務(wù)器的權(quán)限;PHP方式相比麻煩一些,但是對用戶權(quán)限的控制可以專門定制相應(yīng)的程序來實(shí)現(xiàn),幾乎可以實(shí)現(xiàn)任何角色對權(quán)限的控制。
在實(shí)際的使用過程中,我們目前對應(yīng)用的APP調(diào)試以及合作性質(zhì)的研發(fā)采用第一種方式;如果對SVN需要比較多權(quán)限控制的話,推薦采用第二種,可以囊括測試,部署,上線等各個環(huán)節(jié)。在和新浪的一個合作中,采用這種異地開發(fā)方式。本節(jié)關(guān)于SVN搭建測試服務(wù)器的內(nèi)容講解完畢,請關(guān)注本節(jié)其他相關(guān)報道。
相關(guān)文章
訪問asp頁面出現(xiàn)出現(xiàn)“請求的資源在使用中”的解決辦法
windows2003 IIS6運(yùn)行ASP, http 500 - 內(nèi)部服務(wù)器錯誤。asp程序不能瀏覽 但htm靜態(tài)網(wǎng)頁不受影響。將IE改為不顯示友好錯誤如下時:出現(xiàn)“請求的資源在使用中”2011-05-05windows服務(wù)器您試圖從目錄中執(zhí)行CGI、ISAPI 或其他可執(zhí)行程序,但該目錄不允許執(zhí)行程序
您試圖從目錄中執(zhí)行CGI、ISAPI 或其他可執(zhí)行程序,但該目錄不允許執(zhí)行程序2011-01-01Windows Server 2003 系統(tǒng)安全配置方法
對于win2003服務(wù)器的安全配置方法,腳本之家之前發(fā)布了很多類似的文章,但并不完整,所以我們以后會整理下放到論壇里面,大家一起來交流。2009-10-10在 Windows服務(wù)器中啟用/禁用SMBv1、SMBv2和SMBv3的方法
這篇文章主要介紹了如何在 Windows 和 Windows Server 中啟用/禁用 SMBv1、SMBv2 和 SMBv3的方法,需要的朋友可以參考下2018-02-02windows下Graphviz安裝及入門教程的實(shí)現(xiàn)方法
這篇文章主要介紹了windows下Graphviz安裝及入門教程的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Windows?10搭建SFTP服務(wù)器的詳細(xì)過程【公網(wǎng)遠(yuǎn)程訪問】
這篇文章主要介紹了Windows?10搭建SFTP服務(wù)器【公網(wǎng)遠(yuǎn)程訪問】,搭建SFTP服務(wù)器,這里我們用freesshd來實(shí)現(xiàn),支持http/https/tcp協(xié)議,不限制流量,無需公網(wǎng)IP也不用設(shè)置路由器,對windows?10搭建sftp服務(wù)器相關(guān)知識感興趣的朋友一起看看吧2022-10-10Windows Server 2019 DHCP服務(wù)器配置與管理——理論 Ⅰ
DHCP 是 Dynamic Host Configuration Protocol (動態(tài)主機(jī)配置協(xié)議)的縮寫2023-05-05