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 --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]# 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