前言
專案中源碼或者文檔需要進行管理與版本記錄,歷數此類工具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 例:
|