1. 程式人生 > >版本管理器SVN初探:伺服器與客戶端從下載安裝到使用

版本管理器SVN初探:伺服器與客戶端從下載安裝到使用

前文

折騰了一天,總算初步搞定了區域網內的SVN伺服器與客戶端的搭建,系統環境以及版本配置如下:

伺服器所在作業系統:win7 + 64位

SVN伺服器版本:VisualSVN-Server-3.9.1-x64

SVN客戶端版本以及語言包:TortoiseSVN-1.10.1.28295-x64-svn-1.10.2

飲水不忘打井人,在學習搭建以及使用的過程中,主要參考了以下幾位前輩的著作,原文連結如下:

其它還有一些參考文章,因為參考內容較少就不做一一列出。

我為人人,人人為我,這種人人分享的精神是真正網際網路人的網際網路精神,都是值得我們獲益過的人去銘記感謝的。

伺服器與客戶端的安裝

通過上述連結地址分別下載好.msi安裝包,共3個,其中語言包可自行決定是否安裝。

先安裝SVN伺服器,雙擊VisualSVN-Server-3.9.1-x64.msi開始安裝,安裝過程比較簡單,點選Next即可,在下面步驟時,選擇“安裝SVN伺服器和介面管理工具”或“僅安裝SVN伺服器”,前者帶一個介面工具,新建庫、使用者、使用者組等配置可以直接圖文介面操作,後者則是通過命令列操作,因為第一次接觸還是選擇介面管理工具比較容易處理一點。下方的PATH環境命令列工具配置,也預設一併選上。

https://images0.cnblogs.com/blog/561794/201409/130942171846989.png

點選【Next】進入下一步,在如下介面選擇安裝什麼版本的SVN伺服器,一種是標準版也是免費版的SVN伺服器,另一種是微軟註冊版的SVN伺服器,後者要金鑰註冊啟用,相對的功能也是要強大一些。圖方便,我們選擇免費版的Standard Edition。

https://images0.cnblogs.com/blog/561794/201409/130941151521908.png

點選進入設定,location設定伺服器的安裝位置,最好全路徑英文,免得出現一些不可控的錯誤;repositories設定版本庫的位置(平時上傳的程式碼資料就保管在這),庫最好放在非C盤,免得系統崩潰了重灌系統,庫也跟著沒了;server port伺服器網路埠預設選擇443即可,如果你安裝伺服器的主機打開了防火牆的話,需要去設定一下這個埠的出入站規則,免得其它主機訪問的時候被拒絕。Use secure connection勾上表示使用安全連線。

https://images0.cnblogs.com/blog/561794/201409/130942509964894.png

設定好了之後,點選【Next】再點選【Install】開始安裝,大概需要一分鐘等待安裝完成,出現如下介面。因為我已經安裝完成了,懶得再安裝一次截圖,所以上下安裝介面各圖都來自於前文引用連結中的貼文,版本號細節會對不上,但安裝過程是一樣一樣的。

https://images0.cnblogs.com/blog/561794/201409/130943551219603.png

勾選Start VisualSVN Server Manager,點選【Finish】即安裝成功了,啟動VisualSVN Server管理器。介面如下。

這個管理工具是Windows的msc工具,不是一個exe軟體,其在桌面沒有快捷方式,有需要的可以去SVN server的安裝目錄下的bin目錄中找< VisualSVN Server.msc>。如下圖所示。可以選中它右鍵傳送一個快捷方式到桌面。

客戶端的安裝就比較簡單了,雙擊< TortoiseSVN-1.10.1.28295-x64-svn-1.10.2.msi>一直Next預設安裝既可。安裝客戶端完成之後,再雙擊< LanguagePack_1.10.1.28295-x64-zh_CN.msi>自動安裝語言補丁包。至此安裝全部完成,在任意資料夾目錄下右鍵工具欄中會出現如下兩個快捷選項。

SVN檢出(SVN Checkout):從SVN伺服器拷貝程式碼到本地當前檔案目錄下。

TortoiseSVN:SVN客戶端快捷工具。這裡面各工具的具體功能及使用可以自行摸索,或參考後續使用環節介紹的文章。

伺服器端管理介面使用以及客戶端SVN檢出

去SVN Server安裝目錄的bin目錄下或桌面快捷方式開啟< VisualSVN Server.msc>,選中版本庫<repositories>右鍵,建立一個新的版本庫。

選擇版本庫型別。<Regular FSFS repository>是建立一個以標準FSFS資料格式儲存的版本庫,Distributed VDFS repository是建立一個分散式儲存的版本庫,區域網內的話,一般選擇FSFS標準庫即可。

給版本庫起個名,repository name。

選擇版本庫結構,Empty repository:空版本庫。single-project repository:單專案版本庫。單專案版本庫是自帶主幹、分支結構等庫管理結構的。我們這裡使用推薦的空版本庫。

設定新建版本庫的訪問許可權。nobody has access:只有自己能訪問。all subversion users have read/write access:所有使用者都可以讀寫訪問。customize permissions:自定義訪問許可權。這裡的訪問許可權設定的話,可以根據專案具體設定,如果你是專案管理員的話,最好選擇自定義,避免管理混亂。我們這選擇所有人都具有訪問許可權,然後建立。

建立完成後,會看到新建版本庫的型別、名字、URL地址、訪問許可權資訊。其中URL地址是客戶端訪問SVN伺服器版本庫檢出時所需要的。搭建完成之後,在客戶端也可以直接在瀏覽器訪問該地址。

建立完成之後就可以看到剛新建的版本庫了,如下圖所示,版本庫名字、版本、型別。

新建使用者,如下圖所示,在<Users>選中右鍵,create user。

填寫新建使用者的使用者名稱和密碼。

點選OK即新增成功了。

建立使用者組,使用者組的理解大概就是某個專案的專案組,裡面集合所有專案組成員。在<groups>選中右鍵。

填寫使用者組名稱,新增使用者組成員,該成員只能在使用者<users>裡面選擇,所以要事先建好使用者才能新增。

使用者組名只允許字母、數字、字元和下劃線,漢字和其它字元是不允許出現的,點選OK,即可建立成功。

客戶端檢出。如果是在伺服器本機上做檢出的話,直接在你的檢出目標路徑下右鍵選擇【SVN 檢出】,然後填入你要檢出的專案URL地址,這個地址可以複製也可以目錄選擇。複製專案的URL地址如下圖所示。

這是在SVN伺服器所在本機上檢出的URL地址方式,在區域網內其他主機檢出的話請看後面相關內容。

檢出完成如下圖所示,檢出的專案資料夾在圖示上會有一個綠色的勾,這代表其是當前伺服器已更新的最新版本,如果你在該資料夾下對專案內容有所更改的話,圖示會有相應的變化提示。

在SVN所在伺服器的本機上做檢出,依照上述步驟一步一步操作,會很順利的達成,這比較符合個人使用版本管理。但在團隊中使用SVN版本版本管理器的話,SVN伺服器所在主機建議應該獨立出來保持24小時開機線上,避免團隊成員在提交、更新、檢出等操作時出現伺服器拒絕等情況,或在使用過程中系統崩潰導致伺服器也跟著奔潰了。

區域網內搭建SVN伺服器以及其他主機客戶端訪問操作

本節內容是根據我自己安裝使用過程中的記錄,內容僅供參考,不負其它責任。SVN伺服器所在主機端,首先要能保證在本機能檢出版本庫內容,其次要能保證區域網內其他主機能訪問本機共享資料夾。本機檢出在前文已有所敘述,關於區域網內其他主機訪問伺服器所在主機共享資料夾,在這裡簡單介紹一種方法。

在之前沒做任何有關區域網內檔案共享等相關配置的話,初次訪問區域網內其他主機,可能會遇到需要登入賬號密碼的問題,如下圖所示。

但很多會很懵,表示主機使用者都不知道有什麼賬號密碼之類的。這其實是Windows的一中安全策略,在win7的控制面板中點選【管理工具】,開啟【本地安全策略】。

在【使用者許可權分配】-【拒絕從網路訪問這臺計算機】選項中刪掉Guest,在【安全選項】- 網路安全配置以及賬戶配置請對照下圖:

然後進入【控制面板】-【網路和共享中心】-【更改高階共享設定】根據下圖所示進行設定。

至此,在區域網中的其它主機應該可以訪問本機的共享檔案相關內容了。下一步我們設定SVN repository的屬性,以及在客戶端主機上如何檢出repository版本庫。

首先要設定SVN repositories的資料夾共享屬性,不設定屬性的話,在其它主機訪問會遇到Unenbled open URL的問題。

在repositories資料夾選中右鍵 – 共享 – 特定使用者。

開啟介面下拉選擇Everyone,許可權給與讀取和寫入。然後點選【共享】即可。也可以通過【屬性】-【共享】中檢視和設定

下面的步驟在SVN客戶端所在主機上進行。

從SVN伺服器管理介面的repositories右鍵copy URL地址。

然後在SVN客戶端的瀏覽器中輸入該地址並在前面新增伺服器的IP地址(獲取伺服器主機所在區域網內的IP地址,直接在伺服器主機的命令埠使用<ipconfig>命令就能查到)。新增伺服器的主機計算機名也行。

地址格式大概是:https://計算機名/svn/本庫資料夾名/。然後需要登入賬號密碼,此賬號密碼就是之前伺服器中建立的使用者的賬號密碼,登入成功之後就可以訪問該版本庫了。

下圖是從瀏覽器中訪問成功的介面。

瀏覽器中能訪問成功的話,檢出就不是問題了。同樣,複製該地址,在檢出路徑中。格式如下所示。

點選確定,檢出。