SVN版本庫搭建
阿新 • • 發佈:2018-12-17
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萬個字
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
password-db = passwd
authz-db = authz
realm = /home/svn/myrepos
3.2,passwd修改為:
[users]
username = password //這裡的username和password自己設定 (多使用者配置)
[/]
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 編輯,新增以下程式碼
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萬個字