1. 程式人生 > >linux下安裝svn服務端,並配置自動更新專案到web目錄

linux下安裝svn服務端,並配置自動更新專案到web目錄

①安裝svn服務端

[[email protected] ~]# yum install svn

②建立服務端倉庫,並設定許可權

[[email protected] ~]# mkdir -p /var/svn/test
[[email protected] ~]# svnadmin create /var/svn/test

[[email protected] test]# vi conf/passwd

vi  conf/svnserve.conf

③開放svn預設埠3690

[[email protected]

test]# firewall-cmd --zone=public --add-port=3690/tcp --permanent

[[email protected] test]# firewall-cmd --reload

檢視所有的開放到埠

[[email protected] test]# firewall-cmd --zone=public --list-ports

④開啟svn服務

[[email protected] test]# svnserve -d -r /var/svn/

⑤配置自動更新到web目錄

新建一個www使用者並設定密碼

[[email protected] htdocs]# adduser www 
[[email protected] htdocs]# passwd www

修改web目錄所有者為www使用者,並檢出svn倉庫到該目錄

chown -R www.www /opt/lampp/htdocs/test

[[email protected] test]# svn co svn://192.168.0.31/test ./

配置鉤子

[[email protected] test]# cd /var/svn/test/hooks/

[[email protected]

hooks]# vi post-commit

[[email protected] hooks]# cp post-commit.tmpl  post-commit

#!/bin/sh
SVN=/usr/bin/svn
WEB=/opt/lampp/htdocs/test
LOG_PATH=/tmp/svn_hook.log
echo "------------Start Commit -----------" >> $LOG_PATH
echo "Time:"`date '+%Y-%m-%d %T'`>>$LOG_PATH
export LANG='zh_CN.UTF-8' #防止亂碼 
for DIR in `svnlook dirs-changed /var/svn/test/`
do $SVN update $WEB/$DIR
done

#chown -R www.www /opt/lampp/htdocs/test

新增可執行許可權

[[email protected] hooks]# chmod +x post-commit

儲存提交,然後windows客戶端檢出,新建檔案提交,檢視web目錄

發現提交後項目在web目錄自動更新了123.text