讀古今文學網 > Maven實戰 > 11.4 準備Subversion倉庫 >

11.4 準備Subversion倉庫

在正式創建Hudson持續集成任務之前,需要準備好版本控制系統。常見的版本控制工具有CVS、Subversion、Git、Mercurial等。由於Subversion可能是當前使用範圍最廣的版本控制工具,因此本書以它為例進行介紹。

首先需要安裝Subversion服務器軟件(本書僅討論svnserve)。對於大多數Linux發行版和Mac OS X來說,該工具應該已經被預先安裝了。可以運行如下的命令查看,見代碼清單11-1。

代碼清單11-1 在Linux/Mac OS X中檢查svnserve安裝

對於Windows用戶來說,可以安裝Slik Subversion(http://www.sliksvn.com/en/download)。需要注意的是,在選擇安裝類型的時候,需要選擇complete安裝,否則默認的安裝方式將不會安裝svnserve,如圖11-5所示。

圖11-5 完整安裝Slik Subversion

安裝完成之後,可以運行如下命令進行驗證,見代碼清單11-2。

代碼清單11-2 在Windows中檢查svnserve安裝

接著需要創建一個Subversion倉庫。運行命令如下:

svnadmin是用來創建、維護、監測Subversion倉庫的工具,在主流Linux和Mac OS X上一般都是預裝的。在Windows上,它也被包含在Slik Subversion中。這裡首先創建一個名為svn-repos的目錄,然後在這個目錄中創建一個Subversion倉庫。

下一步是將本書背景案例現有的代碼導入到這個Subversion倉庫中。由於筆者的代碼和Subversion倉庫在一台機器上,因此直接使用file協議導入(導入之前應先使用mvn clean命令清除項目輸出文件,這些文件是可以自動生成的,不該放入源碼庫中),見代碼清單11-3。

代碼清單11-3 導入源碼至Subversion倉庫

上述命令將當前目錄的全部內容提交到Subversion倉庫的/account/trunk路徑下,-m選項表示提交的註釋。

倉庫建立並初始化完畢,就可以啟動svnserve服務了:

選項-d表示將svnserve服務作為守護進程運行,-r表示Subversion倉庫的位置,而參數--listen-host是為了強制將svnserve綁定到IP v4地址(在有些系統上,svnserve會默認綁定IP v6地址,當Hudson使用IP v4地址訪問Subversion倉庫的時候就會失敗)。

最後,可以用簡單的svn命令檢查插件svnserve服務是否可用,見代碼清單11-4。

代碼清單11-4 檢查Subversion倉庫內容

至此,Subversion倉庫就建立完成了,之後Hudson就可以基於這個倉庫運行集成任務。