「個人TDD實踐」系列之SVN架設
寫在前面:html
個人TDD實踐這幾篇文章主要是圍繞測試驅動開發所展開的,其中涵蓋了一小部分測試理論,更多的則是關注工具的使用及環境的搭建,作到簡單實踐先行,後理論專精的目的。服務器
TDD實踐系列文章:分佈式
1.TDD概念篇svn
2.CI持續集成工具
3.SVN架設篇單元測試
4.UnitTest單元測試測試
本文主要是介紹Source control system(源文件管理系統),這是CI的基礎,固然你也徹底能夠用它只作數據存儲,並行開發,源代碼控制等等,這裏就不詳細介紹了,網上有不少資料描述SVN以及源代碼管理,TFS也是一個不錯的選擇。ui
這裏我選擇了Subversion+TortoiseSVN的選擇,由於開源以及應用普遍,免費。spa
一般所說的SVN實際上是分爲2個部分的:.net
服務端Server:Subversion
客戶端Client:TortoiseSVN (普遍引用,功能強大,操做簡單)
a) 意義:
i. 提供獲取歷史版本功能,恢復錯誤版本以前的狀態。或比較版本之間的不一樣。
ii. 鎖定正在編輯的文件,訪問控制鎖定,防止提交衝突。(不一樣產品,實現功能略有不一樣。)
iii. 良好的版本管理、版本分發。
iv. 提供文檔,工具,測試,源代碼的一體化管理。
b) 權衡
說明:Centralized集中式管理 與 Distributed分佈式管理(要是開源的建議能夠分佈式管理,反之集中式管理)
Transactional支持事務性與nontransaction不支持事務性(是否支持還原代碼版本,很重要。曾經的慘痛教訓告訴我,即便能回滾的狀況下已經很鬧心況且不能還原數據。)
File blocking文件鎖or non-file blocking非文件鎖定方式。(文件鎖定方式屬於樂觀鎖,即檢出時(checkout)有權限的人均可以獲取,可是提交時(checkin)會進行版本控制,簡而言之,若是你和某人同時改寫了同一個文件,通常狀況下誰先提交到服務器上,第二我的就沒法提交併報告文件衝突。)
Server :Subversion
Subversion官網 (建議下載1.6.x)
Client:TortiseSVN
目前,官網只有1.8.x 64位版本,請找到適合您的客戶端。
本文中建議配合Subversion請使用TortoiseSVN-1.6.8.19260-win32-svn-1.6.11版本
步驟Steps:
打開CMD程序,輸入 svnserve --help。沒有提示錯誤就是安裝成功。
3.SVN服務端配置:
a) 在CMD中輸入:sc create SVNService binpath= "C:\Program Files\Subversion\bin\svnserve.exe --listen-port 3691 --service -r D:\SVN\Server\RepositoryRoot" displayname= "SVNService" start= auto depend= Tcpip
其中C:\Program Files\Subversion\bin\svnserve.exe是安裝程序的路徑;D:\SVN\Server\RepositoryRoot是目標路徑,在此以前要提早建立好該目錄下的RepositoryRoot文件夾。
囉嗦一句,win7下要管理員權限,沒有權限會返回「失敗5:拒絕訪問」。
也能夠用批處理的方式注入cmd命令。
成功後會返回: CreatServer 成功。
b) 啓動SVNService服務:(管理員權限)cmd 執行 net start SVNService (SVNService是上面定義的服務名稱)
c) 使用SVN集成命令(或TSVN建立),cmd-> input:svnadmin create D:\SVN\Server\RepositoryRoot(此路徑必須是服務開啓的路徑)。而後你會在此目錄下看到生成了不少文件,具體不一一介紹了,在這個文件夾中建立tags,trunk,branches文件夾。
d) 配置Svn服務端:
在conf文件夾下,
Svnserve文件修改以下:
anon-access = none
auth-access = write
password-db = passwd
realm = My First Repository
passwd文件修改以下:
[users]
qq=229063661
至此,服務端配置基本完成,更多的設置文件中有說明,或者去訪問SVN中文站,這裏筆者要強調一下的是:SVN服務端和客戶端的版本要一致,否則可能會出現莫名其妙的錯誤。更有意思的是,您能夠不創建SVN服務端而直接聯接Git的開源程序,但目前只支持只讀。
4.SVN客戶端配置:
a) 安裝TortoiseSVN-1.6.8.19260-win32-svn-1.6.11.exe。基本都是默認設置,安裝完以後能夠更改語言。
b) 完成本地磁盤和Svn服務端磁盤的映射。
i. 在本地文件夾下右鍵---checkout---按照圖片上的設置(注意我是本地因此用localhost,IP能夠跨機器訪問;我更改了端口3691,因此要顯示指明一下,要否則會出錯。),最後輸入passwd中的用戶名和密碼便可。(qq:229063661)
至此,SVN客戶端也配置完畢了,SVN的使用方法這裏就不舉例了,網上資料很是豐富,並且你們也能夠查看T-SVN的操做手冊,或者訪問SVN中文站得到更多信息。
這裏羅列一下相關資源: