Ubuntu 下 SVN 多版本庫的搭建

1、簡介

Subversion(簡稱SVN)是一個自由開源版本控制系統Subversion將文件存放在中心版本庫裏,這個版本庫很像一個普通的文件服務器,不一樣的是,它能夠記錄每一次文件和目錄的修改狀況,這樣就能夠藉此將數據恢復到之前的版本,並能夠查看數據的更改細節。目前,Subversion已成爲主流的開源代碼版本管理軟件之一。html

2、安裝SVN服務

sudo apt-get install subversion

3、建立版本庫

一、建立目錄文件夾
sudo mkdir /var/svn
sudo mkdir /var/svn/project1
sudo mkdir /var/svn/project2
二、建立版本庫 project1
svnadmin create /var/svn/project1
三、建立版本庫 project2
svnadmin create /var/svn/project2

4、設置用戶及訪問權限

一、集中配置

爲了便於管理,將全部版本庫的密碼和權限,設置在同一個目錄下shell

1.一、在根目錄下建立conf文件夾,用來存放公共配置文件bash

sudo mkdir /var/svn/conf

1.二、拷貝project1/conf文件夾下的authzpasswd兩個文件到svn根目錄下面服務器

cp /var/svn/project1/conf/authz /var/svn/conf
cp /var/svn/project1/conf/passwd /var/svn/conf

1.三、修改每一個版本庫目錄conf文件夾下面的svnserve.conf文件,將如下內容svn

password-db = passwd
authz-db = authz測試

修改成:版本控制

password-db = ../../conf/passwd
authz-db = ../../conf/authzcode

注:../../conf/passwd表明相對路徑而非絕對路徑htm

二、添加用戶

打開/svn/conf/passwd文件,在[user]標識下添加用戶(username = password對應關係)blog

[user]
svnadmin = pwd_svnadmin
manage1 = pwd_manage1
manage2 = pwd_manage2
dev1 = pwd_dev1
dev2 = pwd_dev2
dev3 = pwd_dev3
dev4 = pwd_dev4
test1 = pwd_test1
test2 = pwd_test2

注:=等號先後有空格

三、分配權限

定義幾個角色用來測試

配置管理員(svnadmin),用來管理整個庫
經理(manage),用來管理項目文檔
開發(dev),用來管理項目代碼
測試(test),用來管理測試相關文檔

設置分組
打開/svn/conf/authz文件,在[group]標識下添加用戶(groupname = username對應關係)

[group]
admin_group = svnadmin
manage_group_1 = manage1
manage_group_2 = manage2
dev_group_1 = dev1,dev2
dev_group_2 = dev3,dev4
test_group_1 = test1
test_group_2 = test2

注:=等號先後有空格;多個用戶之間用,逗號分隔

分組訪問權限

[/]
@admin_group = rw
* = r

[project1:/]
@admin_group = rw
@manage_group_1 = rw
@dev_group_1 = r
@test_group_1 = r

[project1:/Public]
@admin_group = rw
@manage_group_1 = rw
@dev_group_1 = r
@test_group_1 = r

[project1:/code]
@dev_group_1 = rw
* =

[project1:/test]
@test_group_1 = rw
* =

[project2:/]
@admin_group = rw
@manage_group_2 = rw
@user_group_2 = r
@test_group_2 = r
[project2:/code]
@dev_group_2 = rw
* =

注:=等號先後有空格

四、修改配置文件

打開/svn/conf/svnserve.conf文件,將如下內容

# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz

修改成:

anon-access = none
auth-access = write
password-db = ../../conf/passwd
authz-db = ../../conf/authz

5、啓動SVN服務

一、啓動服務
sudo svnserve -d -r /var/svn --config-file /var/svn/conf/svnserve.conf
二、設置開機自啓動

在目錄/etc/init.d下添加腳本startsvn.sh

#!/bin/bash
sudo svnserve -d -r /var/svn --config-file /var/svn/conf/svnserve.conf

執行命令 sudo update-rc.d starsvn.sh defaults,將腳本添加到自啓動項目中。

6、驗證訪問版本庫地址

  • svn://localhost/project1

  • svn://localhost/project2

[參考] SVN服務器在Ubuntu16.04下搭建多版本庫詳細教程 - 恆久力行

相關文章
相關標籤/搜索