1. 程式人生 > >SVN版本庫搭建

SVN版本庫搭建

1:安裝svn服務端  yum install subversion
2:建立版本庫:  svnadmin create /home/svn/myrepos  //目錄可以自定義
3:配置svnserve
  上述版本庫/home/myrepos建立後在資料夾下會生成conf資料夾,進入/home/svn/myrepos/conf下面會有下面3個檔案
authz passwd svnserve.conf
我們依次修改
3.1,svnserve.conf修改以下幾個部分:
            anon-access = none
   auth-access = none
   auth-access = write
     password-db = passwd
   authz-db = authz
   realm = /home/svn/myrepos


3.2,passwd修改為:


   [users]  
   username = password    //這裡的username和password自己設定  (多使用者配置)


3.3,authz最後加上以下兩行(這兩行解決了 SVN客戶端解決authorization failed問題)


   [/]
   username = rw   (進行多使用者配置)
4:啟動svnserve即可
    svnserve -d -r /home/svn/myrepos/  (如果你是配置第一個版本庫是沒有問題的)
    如果多版本庫則
           (用多埠啟動即可)     
        svnserve -d --listen-port 3691 -r /home/svn/myrepos    
        SVN伺服器預設埠3690, 用命令檢視下該埠是否被佔用啦:netstat -antp | grep svnserve ), 然後用3691埠啟動就OK啦 
        (配置完需要重啟  ps -ef | grep 埠號      kill -9 程序號     再次啟動就ok了)
5:客服端使用:
   svn checkout svn://伺服器ip地址/myrepos/


   (這時就可以在本地測試進行程式碼提交  測試使用者名稱 密碼)






svn鉤子自動更新專案檔案到web目錄


1:cd /home/svn/myrepos/hooks
   cp post-commit.tmpl ./post-commit
   vim post-commit   編輯,新增以下程式碼
   
#!/bin/sh
export LANG=en_US.UTF-8
/usr/bin/svn update --username 使用者名稱 --password 密碼 /usr/share/nginx/html/carsysjx(專案目錄 根據需求自己定義)


2:檢視專案根目錄所屬組  ll -a
    chown root:root /home/svn/myrepos/hooks/post-commit   (修改post-commit檔案)
    chmod +x /home/svn/myrepos/hooks/post-commit  (給post-commit檔案新增上可執行許可權即可)


3: 可以配置日誌檔案 
REPOS="$1"
REV="$2"
    LOG_PATH=/tmp/svn.log
  echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH   (將此程式碼新增到post-commit中   未測試)


    解釋:whoami #執行此程式的使用者
 REPOS="$1" #svn專案絕對路徑值
 REV="$2" #最新版本號


附上鍊接:可參考  http://www.cnblogs.com/xuyk/p/6024757.html    
 http://www.blogdaren.com/post-1745.html


 接下來就可以盡情的暢遊svn了  ................................................省略1萬個字