SVN版本控制系統搭建(結合http服務)

來源:互聯網
上載者:User

標籤:height   auth   oca   ref   9.png   add   產生   ever   white   

SVN版本控制伺服器搭建

  Svn(subversion)是一個開原始程式碼控制的控制系統,用來管理和儲存開發的原始碼,基於C/S模式。可以單獨提供服務,也可以結合http服務來實現。

運行方式  運行連接埠  存取方法
svn單獨服務 3690 svn://
http結合服務 80 http://

 

下面開始搭建svn服務

1.環境準備

(1)安裝svn 和 apache 服務,其中mod_dav_svn是用來銜接svn和apache的。

yum –y install subversion httpd mod_dav_svn

(2)查看是否註冊連接埠

cat /etc/services | grep svn –color

(3)建立存放版本庫

mkdir /web

(4)建立web項目執行個體

svnadmin create /web/www.demonxian3.cnsvnadmin create /web/www.demonxian2.cn

(5)查看svn版本相關檔案

可以在通過svnadmin建立的目錄看到會產生一些檔案。

 

目錄 作用
dav 提供apache和mod_dav_svn使用的目錄,這個要自己手動建立
db 存放版本控制的資料庫檔案
hooks 存放hook指令檔
locks 存放svn監控鎖定資料的目錄,用來追蹤存取檔案庫的用戶端
conf 存放設定檔(使用者訪問帳號和許可權等)
format 檔案 存放一個整數表示當前的檔案庫配置的版本

 

下面是conf目錄的檔案內容

檔案 作用 
authz 認證許可權的配置
passwd 使用者密碼的配置
svnserve 伺服器相關配置
2.修改配置

(1)修改svnserve服務配置

vim /web/www.demonxian3.cn/conf/svnserve.conf

下面幾個欄位預設都是注釋的,需要把注釋去掉

anao-access = read                         #表示匿名使用者可讀 值有:read write none

auth-access = write                         #表示認證使用者可寫,值同上

password-db = passwd                    #表示指定密碼庫的設定檔

authz-db = authz                            #表示指定認證許可權設定檔

realm = www.demonxian3.cn           #登入提示資訊

注意上面欄位必須頂格,即前面不能留空格,否則會報錯

 

(2)修改passwd使用者密碼配置

vim /web/www.demonxian3.cn/conf/passwd

添加三個使用者,密碼均為123456

 

(3) 修改authz許可權配置

vim /web/www.demonxian3.cn/conf/authz

在groups域 裡定義一個CG組,組員有demon1,dmeon2

在 根域(自己寫上的)裡定義許可權,CG組只有讀許可權,demon3可寫可讀,其他人無許可權

 3.啟動服務
svnserve -d -r /web/    #-d 以守護運行 -r 以root使用者運行 web 就是自己建立的軟體版本庫

查看連接埠

 

svn常用的命令

import 上傳代碼
checkout       下載代碼
update          更新代碼
status            查看狀態
diff                差異檢測
log                記錄
list                顯示目錄
cat                查看內容
resolve         解決衝突
switch           切換版本庫
revert           恢複
add 增加  
delete 刪除
copy 複製
move  移動

 

更多請參見http://blog.csdn.net/ithomer/article/details/6187464

 

4.svn服務簡單的使用測試
mkdir local   #建立本地開發目錄touch local/1.html local/2.html      #建立類比web頁面svn import /root/local/ file:///web/www.demonxian3.cn/ -m "first edit"  #匯入svn checkout svn://192.168.1.112/www.demonxian3.cn/ download     #取出代碼

 

1.取代碼時會彈出身分識別驗證,預設是root使用者,斷行符號即可輸入使用者名稱和密碼。

2.需要注意登入的使用者需要有讀取許可權否則不能下載

3.取出代碼後會在當前產生download目錄,在裡面進行相關的代碼開發即可

下面類比代碼開發後的更新。

touch download/3.htmlecho “hello world” > 2.htmlsvn add 3.html                                #在svn裡同步添加新檔案svn commit –m “second edit”        #提交代碼,這裡也需要使用者驗證。

如果輸入的帳號和密碼沒有寫入的許可權,會寫入失敗

 

 

下面來搭建http + svn 服務

1.查看apache是否引入svn模組
vim /etc/httpd/conf.d/subversion.conf

如果看到兩個欄位則表示引入成功

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module     modules/mod_authz_svn.so

兩個模組的實體路徑

/etc/httpd/modules/mod_authz_svn.so

/etc/httpd/modules/mod_dav_svn.so

 

2.編輯subversion模組設定檔

vim /etc/httpd/conf.d/subversion.conf  #在參照末尾location標籤添加下面的內容

<Location /web>

  DAV svn

  SVNParentPath /web                         #指定svn根目錄

  AuthType Basic                                 #Basic認證方式

  AuthName ”www.demonx.cn”             #認證顯示提示資訊

  AuthUserFile /web/svn/passwd           #使用者密碼檔案

  AuthzSVNAccessFile /web/svn/authz   #使用者設定檔

  Require vaild-user                             #要求使用者認證不許匿名

</Location>

 

3.建立apache訪問svn相關設定檔

mkdir /web/svn

 

建立使用者密碼檔案並配置密碼

htpasswd –c /web/svn/passwd dem1    #參數-c表示建立檔案htpasswd /web/svn/passwd dem2

 

 

建立許可權設定檔

vim /web/svn/authz                        #添加下面的內容

[groups]

all = dem1,dem2

[/]

dem1 = rw

[www.demonxian3.cn:/]

@all = rw

[www.demonxian2.cn:/]

dem1 = rw

dem2 = r

service httpd restart

 然後使用瀏覽器訪問,會發現需要使用者認證

 

 

 

 

下面使用小烏龜工具來訪問svn

使用小烏龜進行代碼的上傳和下載,雖然這個是開發人員做的事,但作為營運人員多少也應該瞭解一點。下面是小烏龜的下載的地址

http://tortoisesvn.net/downloads.html

下載好後會在右鍵產生svn相關外掛程式

 

 

配置相關選項,使用svn服務訪問配置如下

 

 

注意URL上不能把根目錄/web也填寫上去了。

 

 

輸入使用者名稱和密碼,不要儲存

如果使用httpd服務訪問svn版本管理器,配置如下

 

 

 

成功把代碼down下來了,提交一樣點擊右鍵commit即可,如果有時候上交失敗如下

 

 

很有可能你的目錄許可權不夠,修改一下即可 如我的:  chmod -R 777 /web

 

轉載請指明出處:http://www.cnblogs.com/demonxian3/p/6910206.html

SVN版本控制系統搭建(結合http服務)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.