CentOS 搭建SVN服務器

1. 檢測系統是否安裝了svn :

檢測命令 : rpm -qa subversion

如果已經安裝了svn,需要卸載可用命令 : yum remove subversion

2.安裝svn :

安裝命令 : yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

安裝結束後可以使用命令 : svnserve --version 查看當前svn版本

3.創建一個版本庫 :

創建命令 : svnadmin create /home/svn/project1

備註:project1 是版本庫目錄

4.配置版本庫文件 :

配置目錄conf 有如下文件

5.配置 passwd : 新增用戶以及相關用戶密碼

6.配置 authz 權限

7.配置 svnserve.conf

8.啓動svn :

啓動svn命令 : svnserve -d -r /home/svn/

9.關閉svn :

 查詢svnserve所在進程ID : ps aux | grep svn 執行關閉 : kill 進程id

10.檢出svn命令:

svn co svn://127.0.0.1/fankey --username fankey --password 123456

備註:如果輸錯了密碼,或者用戶更改了密碼處理方法:

1、進入記錄svn密碼文件的目錄
cd ~/.subversion/auth/svn.simple/

2、使用cat命令查看 相關文件裏面的內容

找到相應的文件刪除文件即可

svn自動提交帶代碼

找到相應svn項目下的hooks目錄:創建 post-commit 文件(該文件必須有+x權限,否則發生255錯誤) 代碼如下:
`#!/bin/sh

#獲取SVN提交的項目

REPOS="$1"

#獲取提交的當前版本號

REV="$2"

#導入中文字體

export LANG=zh_CN.GBK

#獲取提交時填寫的備註信息

BAKTEXT=$(svnlook log $REPOS -r $REV)

#echo "REPOS = ${REPOS} ; REV = ${REV} ; text = ${BAKTEXT}" >> home/svn/test/log/svn_hook_log.txt
#判斷備註是否爲 'update' , 如果是update則執行同步更新

if [ "$BAKTEXT" = "update" ]; then

#自動跟新代碼到/home/wwwroot/test 目錄下面
/usr/bin/svn update /home/wwwroot/test --username reader --password 123456987

#echo "you input bak is update;" >> /home/svn/test/log/svn_hook_log.txt

fi`

發佈了69 篇原創文章 · 獲贊 172 · 訪問量 60萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章