Linux下創建SVN

1. 前提已安裝svn

安裝:yum install subversion
查看版本:svnserve --version

2. 創建新的svn項目

假設安裝的目錄地址:/www/svn

1)進入到該目錄

2)創建:svnadmin create /www/svn/test (test爲測試目錄)

3)進入到新的項目的conf目錄下:cd /www/svn/test/conf

4)修改passwd文件:vi passwd
創建賬號 = 密碼

[users]
#harry = harryssecret
#sally = sallyssecret
wangjz = wangjz

5) 修改authz 文件 (添加項目權限配置)vi authz
例如:[文件名:/]
賬號 = 讀寫

[test :/]
wangjz = rw  

多個用戶

[groups]
php = wangjz,wangjz1,wangjz2
[test:/]
@php = rw

6)修改svnserve.conf 文件;vi svnserve.conf

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

7)停止svn

killall svnserve

8)啓動svn項目

svnserve -d -r /www/svn/

加端口啓動:svnserve -d -r /www/svn/test --listen-port 3691

查看svn進程 ps aux|grep svn

9)實時檢出到指定文件夾,需要進入hooks文件夾裏新建文件post-commit
內容如下:

#!/bin/bash
# description:用於實時檢出的鉤子

# 基本變量
export LANG=en_US.UTF-8
dateTime=`date +%F`
dateTimeMinute=`date +%H%M%S`
binSvn=/usr/bin/svn # 你svn的絕對路徑
dirHtmlApp=/www/vhost/src #檢出的web站點根目錄
logFileName=/tmp/svn/svnhooks_${dateTime}.log

# svn配置
REPOS="$1"
REV="$2"

# 檢出或者更新subversion,鉤子的核心功能
echo  "-- $dateTimeMinute" >> $logFileName
if [ ! -d $dirHtmlApp/.svn ]; then
   # 檢出SVN
   echo "$binSvn co file://$REPOS/  $dirHtmlApp" >> $logFileName
   $binSvn co file://$REPOS/  $dirHtmlApp
   if [ $? -eq 0 ]; then
      echo  "checkout ok"  >> $logFileName
   else
      echo  "checkout error"   >>  $logFileName
   fi
else
   # 更新svn
   echo " $binSvn up $REV $dirHtmlApp " >> $logFileName
   $binSvn up $REV $dirHtmlApp   >> $logFileName
   if [ $? -eq 0 ]; then
       echo  "  update sucess "  >> $logFileName
   else
       echo  "  update fial "   >>  $logFileName
   fi
fi
echo  "--" >>  $logFileName

給文件添加執行權限

chmod a+x /www/svn/test/hooks/post-commit
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章