svn服務器搭建(一)

svn服務器搭建(一)

什麼是svn:

集中式代碼管理的核心是服務器,所有開發者在開始新一天的工作之前必須從服務器獲取代碼,然後開發,最後解決衝突,提交。所有的版本信息都放在服務器上。如果脫離了服務器,開發者基本上可以說是無法工作的。下面舉例說明:
開始新一天的工作:
1、從服務器下載項目組最新代碼。
2、進入自己的分支,進行工作,每隔一個小時向服務器自己的分支提交一次代碼(很多人都有這個習慣。因爲有時候自己對代碼改來改去,最後又想還原到前一個小時的版本,或者看看前一個小時自己修改了哪些代碼,就需要這樣做了)。
3、下班時間快到了,把自己的分支合併到服務器主分支上,一天的工作完成,並反映給服務器。

  下圖就是經典的svn工作流程,從流程上看,有不少缺點,但也有優點。

 wKiom1MO_JXS01-KAADxyqJ3grs549.jpg

缺點

1、服務器壓力太大,數據庫容量暴增。
2、如果不能連接到服務器上,基本上不可以工作,看上面第二步,如果服務器不能連接上,就不能提交,還原,對比等等。
3、不適合開源開發(開發人數非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明確的權限管理機制(例如分支訪問限制),可以實現分層管理,從而很好的解決開發人數衆多的問題。

優點

1、管理方便,邏輯明確,符合一般人思維習慣。
2、易於管理,集中式服務器更能保證安全性。
3、代碼一致性非常高。
4、適合開發人數不多的項目開發。
5、大部分軟件配置管理的大學教材都是使用svn和vss

----------------------服務端的安裝--------------------------

1  安裝svn服務:

yum install -y subvers*


2  創建數據存儲的根目錄:

mkdir -p /opt/svn/svndata


3  創建用戶及密碼的權限目錄:                  

mkdir -p /opt/svn/svnpasswd


4  啓動svn服務器:

svnserve -d -r /opt/svn/svndata/


5  創建svn數據庫"che":

svnadmin create /opt/svn/svndata/che


6  複製驗證文件和密碼文件:

cp /opt/svn/svndata/che/conf/authz /opt/svn/svnpasswd/authz
cp /opt/svn/svndata/che/conf/passwd /opt/svn/svnpasswd/passwd
chmod 700 /opt/svn/svnpasswd/*


7  備份配置文件:

cd /opt/svn/svndata/che/conf/
cp svnserve.conf svnserve.conf_bak


8  修改svn配置文件:

vim svnserve.conf


anon-access = none
auth-access = write
password-db = /opt/svn/svnpasswd/passwd
authz-db = /opt/svn/svnpasswd/authz


9  添加賬號:zhen 密碼:123456   帳號:xing 密碼:123456  

cd /opt/svn/svnpasswd/
vim passwd

[users]
zhen = 123456
xing = 654321
#提示:
# 等號前是賬號  後面是密碼:


10  修改authz

#版本庫目錄格式:
#[<版本庫>:/項目/目錄]
#@<用戶組名> = <權限>
#<用戶名> = <權限>
sagroup = zhen,xing
[che:/]
zhen = rw
xing = rw
@sagroup= rw


提示:

    對svn 權限的修改不必重啓SVN服務.


-----------------至此服務端配置完成-------------------


windows 客戶端:

 

客戶端分爲32位跟64位(這裏選擇了64位):
http://tianjin.mycodes.net/201310/TortoiseSVN-1.8.2.24708-x64.zip




-----------------客戶端安裝完成-----------------------


測試部分:

在d:/svn-test/下新建立一個目錄che並創建點文件 任意

wKiom1MO3wPAq8KgAAL8dl_st6A411.jpg


2  輸入帳號和密碼:

wKioL1MO96azIXc0AAE4l6d0XeE855.jpg

wKiom1MO98zwODNyAACm8PgT9ME235.jpg


3 測試上傳數據:

wKiom1MO-BjQObq-AAIH4POVrHE148.jpg


4  新建N多文件夾,返回che目錄--右鍵--svn提交-- 點“全選”---確定

wKiom1MO-F2hjqjzAALuMCVNaLk406.jpg

wKioL1MO-Diw7EouAAIrDionVVk730.jpg


5  上傳完成:

wKiom1MO-ITSoohKAAGS5RQt2MM028.jpg


6 完成之後的截圖:

wKioL1MO-IiSo-7AAAMVrzjYl20093.jpg


7 更換xing賬號下載內容:

wKiom1MO-NmClrVQAAGE1JRw5Js668.jpg


至此 簡單的svn服務已經搭建完成,後續篇章會發出來關於svn鉤子的使用方法和linux下的svn客戶端使用方法。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章