Linux搭建SVN伺服器及服務端程式碼自動更新
阿新 • • 發佈:2019-02-01
系統版本: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
以上程式碼借鑑網上,親測可用