SVN原始碼伺服器搭建-詳細教程

kjfcpua發表於2014-02-09

一、引言

      筆者曾經試圖在網上搜尋一篇關於SVN原始碼伺服器搭建方面的中文技術文章,可惜,所找到的,要麼是不完整,要麼就是對筆者沒什麼幫助的文章,TortoiseSvn的幫助文件固然強大,但因為是英文,不是很適合來作為入門者使用;畢竟,TortoiseSvn是一個客戶端,伺服器端的配置也很重要。

      一年前,筆者剛剛畢業,初入公司,在進行開發時,由於沒有進行軟體程式碼版本管理,導致的結果是

  • 軟體一天一個版本
  • Bug日益增加且隱藏很深
  • 程式碼無法向前回溯
  • 幾個月前修正過的Bug在幾個月後又重新出現
  • ……

      由於最近公司決定架設SVN原始碼伺服器,來解決以上問題,故筆者經過一段時間的摸索和使用,便有了此文。

 

二、學習本文先決條件

      如果作為讀者的你符合以下情況,那麼本文可以對你起到一個很大的幫助作用:

  • 具備基本的軟體開發知識
  • 瞭解Client/Server模型
  • 正在被日益更新的軟體程式碼版本所困擾

      本文旨在指導讀者如何利用現有的軟體工具進行軟體程式碼版本管理工作,如果你對軟體版本控制與管理,維護與備份較為感興趣,可以閱讀此文來獲取一定的知識。

 

三、安裝SVN伺服器端軟體

      首先,你必須下載兩款軟體包:VisualSVN Server和TortoiseSVN,兩者都是開源軟體,至於在哪裡下載,百度或谷歌之,儘量使用最新版就好,我使用的版本如下:

 

伺服器端:VisualSVN-Server-2.5.5.msi

客戶端:TortoiseSVN-1.7.5.22551-win32-svn-1.7.3.msi






Location是你的安裝目錄,C盤或D盤都可以,Repositories是你的原始碼倉庫,也就是你SVN幫你管理程式碼放置的位置,這裡我選擇放置在D盤根目錄下,將“Use secure connection”核取方塊的勾去掉,然後在Server Port中填寫8080(填其他埠號也可以,但是確保該埠號未被佔用),在這裡不使用安全連線的原因是,它會導致通訊速度減慢(PS:當時在公司配置時使用的secure connection,每次Checkout一次要15秒多的時間,無法忍受),然後單擊“Next”:





單擊“Finish”後,會啟動VisualSVN Server,可以看到,它的Status是:

VisualSVN Server is running

Server URL is http://motor-109133.hanslaser.com:8080/svn/

至此,伺服器端軟體安裝完畢!


四、SVN伺服器配置專案

右鍵單擊“Repositories”,選擇“Create New Repository...”



在“Repository Name”下方文字框填入“TestSvn”(作為測試用),將“Create default structure(trunk,branches,tags)”選項勾選上,單擊OK


可以看到在Repositories樹下面,有一個TestSvn庫,這個TestSvn庫中有三個資料夾:

  • branches(分支,修改特殊功能或者新功能的分支程式碼,可與主幹進行合併)
  • tags(標記,設定milestone版本)
  • trunk(主幹,存放當前正在編輯的程式碼工程)



開始新建使用者(使用者組管理請各位自己研究),右鍵單擊“Users”,選擇“Create User...”


在“Create New User”對話方塊中填寫賬號密碼,如圖所示:


可以看到Users資料夾下面有了一個使用者:


記得將Repositories倉庫的屬性修改一下,因為它預設的屬性是Everyone Read/Write,意思是任何人都可以對該庫中的內容進行讀寫,現在我們要將其修改成Everyone No Access,然後再自己新增使用者,給予使用者讀或寫的能力,右鍵單擊“Repositories”,選擇“Properties”:



選中“Everyone”,然後勾選“No Access”:


現在開始為TestSvn新增一個使用者,也就是剛剛新增的賬號:zhengshuo,右鍵單擊“TestSvn”,選擇“Properties...”:



單擊“Add...”,選擇Users下的zhengshuo,單擊OK




這樣使用者zhengshuo就被新增到TestSvn專案中(即目前只有zhengshuo才有對TestSvn的讀寫權利):


五、安裝SVN客戶端軟體


相關文章