實作SVN與WEB同步,可以CO一個出來,也可以直接用自動更新web目錄的方法,我們要在svn版本庫中配置鈎子來實作,就是建立一個post-commit的配置檔案,對其進行簡單的配置,簡簡單單的四步就可以實作Linux下SVN自動更新web目錄配置。
準備階段:檢查是否存在svn版本庫
<a href="https://s4.51cto.com/wyfs02/M02/A6/C7/wKioL1nbHTrwC5gMAAAWFRLPLFY921.png" target="_blank"></a>
第一步:建立或進入你的web程式目錄
[root@log html]# cd /home/zyy/
在web程式目錄下執行操作 (svn checkout可以簡寫為co)
svn checkout svn://192.168.110.247/test //不重命名檔案夾,直接在目前目錄下檢出
svn checkout svn://192.168.110.247/test web //檢出檔案并且重命名檔案夾
<a href="https://s3.51cto.com/wyfs02/M00/A6/C7/wKioL1nbHWqjEPAEAAAXGh3g9KA504.png" target="_blank"></a>
第二步:在項目庫的 hooks/ 目錄下建立 post-commit 檔案 【鈎子腳本】
添加腳本内容如下
export LANG=en_US.UTF-8
SVN=/usr/bin/svn # 這裡配置的是svn安裝bin目錄下的svn檔案,yum安裝的svn一般不需要改
WEB=/home/zyy/web # 要更新的目錄
$SVN update $WEB --username zyy --password zhouyuyao
# 其中SVN= 右邊改成 svn 指令位置
# WEB= 右邊改成你實際的web目錄
<a href="https://s3.51cto.com/oss/201710/20/96d52661f5563442c8dc126d37f8566a.png" target="_blank"></a>
第三步:讓post-commit有執行的權限
chmod a+x post-commit
第四步:這裡就已經完成了,第四步就是測試了。
第五步:在Windows上連接配接該版本庫(注:本地需安裝svn用戶端)
<a href="https://s5.51cto.com/wyfs02/M02/A6/C7/wKioL1nbHcCShGqvAAAoBAgVwC4714.png" target="_blank"></a>
檢出結果如下:
在裡面增加一個 “4” 的檔案夾,然後送出。然後在服務端web目錄可以看到,已經存在新增的 “4” 檔案夾。
<a href="https://s4.51cto.com/oss/201710/20/e84e51f7514b3dfc3ae9aff57be319df.png" target="_blank"></a>
以上就是配置svn鈎子的内容。
本文轉自 歸來仍少年 51CTO部落格,原文連結:http://blog.51cto.com/shaoniana/1970915