利用SVN搭建測試伺服器

2021-09-06 05:37:41 字數 1632 閱讀 2275

在正規的團隊開發流程中,測試伺服器測試是必不可少的乙個環節,如何簡單快捷的部署測試伺服器將是本文的重點。本文的實際環境是centos + php + mysql + svn,將通過兩種不同的途徑來實現部署測試伺服器的最終目的。

第一種,post-commit

post-commit本身是svn系列鉤子中的乙個,是為了更方便對svn使用中的常見操作進行處理,

建立測試伺服器的步驟如下

在hooks目錄,建立post-commit檔案, 並將其內容定義為類似如下

#!/bin/sh

export

lang

=en_us

.utf-8

svn checkout

--username kimi

--password password svn

: /wwwroot/projects.ismole.net

chown www

:www

/wwwroot

/projects

.ismole

.net -rf

說明:1. #!/bin/sh 說明是執行shell命令

2. export lang=en_us.utf-8是為了解決svn post commit 中文亂碼,設定本地化編碼。不過svn預設是utf-8編碼。如果字符集符合並且不設定將會出現錯誤,而執行不成功,錯誤標識為svn: can't convert string from native encoding to 'utf-8'

3. svn checkout --username kimi --password password svn: /wwwroot/projects.ismole.net 執行svn檢出操作

4. chown www:www /wwwroot/projects.ismole.net -rf 更改資料夾屬主為適合web server的。

裡面原有的**全部注釋掉.這裡可以執行shell命令,每次commit完成後都會呼叫此檔案。

第二種,php檢出svn

< ?php  

header("cache-control:no-cache,must-revalidate");  

$handle = popen('svn checkout --username kimi --password password svn: /wwwroot/projects.ismole.net', 'r');  

$read = stream_get_contents($handle);

echo "

";  

printf($read);  

echo "< /pre>"  

pclose($handle);  

?>

其實這種方式只是利用php來執行linux命令,不過多描述。參考《php監控linux伺服器負載》:

綜合以上兩種方式,其目的都是通過將svn檢出,並放置在相應的web目錄下來實現的。這兩種相互比較而言,post-commit更為簡單快捷,無需更多的操作,但是對許可權控制力度很小,只要有svn的提交許可權就有部署測試伺服器的許可權;php方式相比麻煩一些,但是對使用者許可權的控制可以專門定製相應的程式來實現,幾乎可以實現任何角色對許可權的控制。

搭建SVN伺服器

搭建svn伺服器 安裝好後,建立 svn資料夾 進入svn資料夾,svnadmin create repository1 則出現乙個repository1資料夾,進入,看到conf資料夾,裡面有三個檔案,svnserve.conf配置 general anon access none auth ac...

SVN伺服器搭建

2.進入命令列並切換到subversion的bin目錄。cd d e program files subversion bin 3.建立版本庫 repository 使用subversion伺服器需要建立乙個版本庫,用來存放svn專案。svnadmin create e svn repos1 此命令...

svn 伺服器搭建

一 原始檔編譯安裝。原始檔共兩個,為 1.subversion 1.6.1.tar.gz 2.subversion deps 1.6.1.tar.gz 注意 兩個檔案版本必須一致,否則很容易產生問題.二 解壓檔案,並編譯配置 subversion 1.解壓檔案 root db2 tfhudong t...