1. 程式人生 > >Linux搭建SVN伺服器及服務端程式碼自動更新

Linux搭建SVN伺服器及服務端程式碼自動更新

系統版本:CentOS6.8

流水線安裝如下:

>>yum -y install subversion#安裝svn

>>rpm -ql subversion#檢視安裝位置

>>svnversion --version#檢視版本

>>mkdir /web/#建立版本庫目錄

>>svnadmin create /web/mysvn#建立版本庫名稱

配置SVN:

>>cd /web/mysvn/conf#進入配置目錄

新增賬號

>>vi passwd#【賬號 = 密碼】 格式;EG: mysvn = mysvn123

賦予賬號許可權

>>vi authz#【[/] mysvn=rw】賦予mysvn 讀[r]寫[w]許可權

修改核心配置檔案

>>vi svnserve.conf#去掉下面配置的#號並且去掉空格 否則會出錯

anon-access = read #匿名使用者可讀
auth-access = write #授權使用者可寫
password-db = passwd #使用哪個檔案作為賬號檔案
realm = /web/mysvn # 認證空間名,版本庫所在目錄
啟動SVN:

>> svnserve -d -r /web   #目錄指向web 而不是web/mysvn 切記

停止SVN:

>> ps -ef|grep svnserve#檢視程序

>>kill -9 XX#XX為程序ID 終止程序

客戶端使用:

SVN選擇checkout輸入如下地址:svn://IP:3690/mysvn   即可 3690一般為預設埠可不輸入

服務端在SVN倉庫有變動時自動更新程式碼:

#!/bin/sh
REPOS="$1"
REV="$2"
export LC_ALL="zh_CN.UTF-8"
export LANG="en_US.UTF-8"

SVN_PATH=/usr/bin                          #svn安裝路徑
WEB_PATH=/web/ccb             #web專案所在
SVN_USER=admin                           #svn使用者名稱
SVN_PASS=admins                          #svn密碼
LOG_PATH=/tmp/svn.log
$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH
exit 0

以上程式碼借鑑網上,親測可用