SVN簡介
Subversion(SVN) 是一個開源的版本控制系統, 也就是說 Subversion 管理着隨時間改變的數據。 這些數據放置在一個中央資料檔案庫(repository) 中。 這個檔案庫很像一個普通的文件服務器, 不過它會記住每一次文件的變動。 這樣你就可以把檔案恢復到舊的版本, 或是瀏覽文件的變動歷史。
本次只記錄安裝,常用命令,分支創建合並等操作
本次使用三台機器
10.0.0.6 node1 代碼服務器
10.0.0.7 node2
10.0.0.8 node3
一、SVN部署
1、所有機器執行
>yum install subversion -y
此命令會全自動安裝svn服務器相關服務和依賴,安裝完成會自動停止命令運行
若需查看svn安裝位置,可以用以下命令:
>rpm -ql subversion
2、代碼服務器創建版本庫目錄
>[root@node1 ~]# mkdir /svn/svndata/ -p
3、在上一步基礎上創建版本庫
>[root@node1 ~]# svnadmin create /svn/svndata/release
創建后查看該庫
>[root@node1 ~]# ll /svn/svndata/release/
total 8
drwxr-xr-x. 2 root root 54 Oct 22 15:59 conf
drwxr-sr-x. 6 root root 233 Oct 22 15:59 db
-r--r--r--. 1 root root 2 Oct 22 15:59 format
drwxr-xr-x. 2 root root 231 Oct 22 15:59 hooks
drwxr-xr-x. 2 root root 41 Oct 22 15:59 locks
-rw-r--r--. 1 root root 229 Oct 22 15:59 README.txt
4、配置修改
>[root@node1 conf]# pwd
/svn/svndata/release/conf
[root@node1 conf]# vim svnserve.conf
anon-access = none 非鑒權用戶訪問版本庫權限
auth-access = write 鑒權用戶訪問版本庫權限
password-db = passwd 用戶口令文件可以更換路徑
authz-db = authz 權限配置文件名及路徑
realm = My First Repository 制定版本庫的認證,域 即在登錄時提示的認證域名稱。若兩個版本庫的認證域相同,建議使用相同的用戶名口令數據文件
5、賬號管理
>[root@node1 conf]# vim passwd
>[users]
admin = admin123
dev1 = 123
dev2 = 123
dev3 = 123
6、權限分配
>[root@node1 conf]# vim authz
[aliases]
[groups]
admin = admin
team = dev1,dev2,dev3,damin
dev = dev1,dev2,dev3
[/]
@admin = w
@team = r
[release:/]
@admin = rw
@dev = rw
7、啟動svn服務
>[root@node1 conf]# svnserve -d -r /svn/svndata/
[root@node1 conf]# ps -ef|grep svn
root 31790 1 0 16:22 ? 00:00:00 svnserve -d -r /svn/svndata/
root 31797 23542 0 16:22 pts/1 00:00:00 grep --color=auto svn
-d daemon 以daemon模式啟動
-r 指定路徑
8、驗證
在node2 和node3上分別創建
>[root@node2 ~]# mkdir /data/svndata -p
>[root@node3 ~]# mkdir /data/svndata -p
進入該目錄並把代碼服務器的版本庫 checkout到各自服務器
>[root@node2 svndata]# cd /data/svndata/
[root@node2 svndata]# svn co svn://10.0.0.6:/release --username admin --password admin123
>[root@node2 svndata]# ll
total 0
drwxr-xr-x. 3 root root 18 Oct 22 16:30 release
到此,svn代碼服務器部署完成