| 前言
 
       專案中源碼或者文檔需要進行管理與版本記錄,歷數此類工具VSS、CVS、SVN、GIT等等,有非常多的版本控制系統。SVN現在還是很常見,把筆記總結搬上博客,SVN這個再不放以後估計只能寫GIT的搭建了。 
 一.SVN簡介
 SVN是Subversion的簡稱,是一個開放原始程式碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個專案,共用資源的目的。
 
 SVN伺服器有2種運行方式:獨立伺服器和借助apache運行。兩種方式各有利弊,使用者可以自行選擇。
            本文主要對Centos進行SVN伺服器搭建,持續集成Jenkins常需要SVN命令方式執行一些操作。          如果你喜歡更快更簡的方式,請用WindowS版本:VisualSVN Server ,在以上位址頁面的最下方下載。 二.安裝SVN(Linux)
 
 1.安裝SVN 複製代碼yum -y install subversion
 注:想快速安裝就用Root用戶 
 2.查看安裝內容與位置
 
 
 3.建立SVN根目錄
 
 
 4.新建版本庫:TestCode
 
 複製代碼svnadmin create /data/svn/TestCode
 注:執行完後,/data/svn/TestCode目錄下檔說明 
 
 README.txt   版本庫的說明文件conf             設定檔件夾(後續操作最多的資料夾)
 db               SVN資料檔案資料夾
 format         當前版本庫的版本號
 hooks          SVN的鉤子指令檔夾
 locks           SVN的檔鎖相關的資料夾
 
 
 4.TestCode庫添加用戶、分配許可權
 A.配置SVN 複製代碼vim /data/svn/TestCode/conf/svnserve.conf
anon-access=none    #去除檔前的注釋,將read改為none,防止匿名訪問
 auth-access=write   #去除文件前的注釋
 password-db=passwd  #去除文件前的注釋
 authz-db= authz     #去除檔前的注釋,存取權限配置,非常重要,不打開,分組許可權不生效
 
 
 B.添加訪問TestCode用戶 複製代碼vim /data/svn/TestCode/conf/passwd
[users]
 # harry= harryssecret
 # sally= sallyssecret
 albert=123456
 findyou=123456
 abc=123456
 love=123456
 
 
 
 注:添加了四個用戶 
 C.設置添加的用戶許可權
 
 複製代碼vim /data/svn/TestCode/conf/authz
[groups]g_qa=liyb,zfm
 g_read=abc
 
 [TestCode:/]       #[<版本庫名>:<路徑>]
 @g_qa=rw           #<使用者組> =<許可權>  ,第一種方式
 @g_read=r          #<用戶名> =<許可權>  ,第二種方式
 love=r
 *=                 #* =<許可權>,第三種方式,*為任意使用者,此為禁止匿名使用者存取
 
 
 
 注:liyb,zfm可讀可寫,abc、love可讀,其他不可訪問。 
 D.防火牆開放SVN通行
 
 複製代碼iptables -A INPUT -p tcp --dport 3690 -j ACCEPT
 E.開啟SVN服務
 
 
 注:命令寫入腳本,開機執行,如需要停止SVN,用 “ps -ef|grep svn”  查找到進程;再 " kill -9 進程號 " 即可。   F.SVN用戶端訪問  svn://IP/TestCode 例:   
 
 |