svn簡介
SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它采用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個項目,共用資源的目的。
svn的docker搭建方法
- 請提前在服務器安裝好docker服務
- 本篇教程選用的docker鏡像為garethflowers/svn-server
- 安裝並啟動容器代碼
docker run --restart always --name svn -d -v /root/dockers/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server
簡析
- /root/dockers/svn為宿主機的文件目錄,/var/opt/svn為容器內的文件目錄
- --restart always命令可以實現容器在宿主機開機時自啟動
- -p 3690:3690表示將宿主機的3690端口映射到容器的3690端口,此端口為svn服務的默認端口,可以根據需要自行修改
創建svn倉庫和賬戶
進入容器中進行配置
docker exec -it svn /bin/sh
創建名稱為svn的資源倉庫
svnadmin create svn
創建成功后svn目錄內應該包含以下文件:
README.txt conf db format hooks locks
資源倉庫配置,修改svnserve.conf
anon-access = none # 匿名用戶不可讀寫,也可設置為只讀 read
auth-access = write # 授權用戶可寫
password-db = passwd # 密碼文件路徑,相對於當前目錄
authz-db = authz # 訪問控制文件
realm = /var/opt/svn/svn # 認證命名空間,會在認證提示界面顯示,並作為憑證緩存的關鍵字,可以寫倉庫名稱比如svn
配置賬號與密碼,修改 passwd文件,格式為“賬號 = 密碼”
[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456
配置賬戶權限,修改 authz文件
[groups]
owner = admin
[/] # / 表示所有倉庫
admin = rw # 用戶 admin 在所有倉庫擁有讀寫權限
[svn:/] # 表示以下用戶在倉庫 svn 的所有目錄有相應權限
@owner = rw # 表示 owner 組下的用戶擁有讀寫權限
拉取svn
svn co svn://127.0.0.1:3690/svn