十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章主要介紹了如何配置SVN的hooks功能自動(dòng)更新代碼,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)專業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站建設(shè)、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗(yàn)的提升,我們力求做到極致!
SVN hooks為何而用?
傳統(tǒng)的WEB網(wǎng)站代碼發(fā)布基本依靠手工操作
大概的整個(gè)流程如下:
開發(fā)本地環(huán)境開發(fā)代碼
提交SVN版本庫(kù)
然后將本地環(huán)境代碼使用工具上傳至待發(fā)布目錄
備份原WEB站點(diǎn)代碼目錄
發(fā)布新代碼至WEB目錄
基于這類重復(fù)操作的問題,為了提高效率,因此,引入了SVN hooks功能
SVN安裝這里就不贅述了,需要了解可參考以前的文章(如下鏈接)
https://mp.weixin.qq.com/s?__biz=MzI0MDQ4MTM5NQ==&mid=2247484395&idx=1&sn=fa514768d628649a104b32ba140087e4&chksm=e91b66f7de6cefe1cee310357feb9e26f694de3809bb5b89917ebb17421e96598eb4dcda7fac#rd
安裝完成,開始配置hooks功能
[root@centos ~]#cd /svndata/doc/hooks
[root@centos hooks]#ll
total 40
-rw-r--r-- 1 root root 1977 Jun 8 23:50 post-commit.tmpl
-rw-r--r-- 1 root root 1638 Jun 8 23:50 post-lock.tmpl
-rw-r--r-- 1 root root 2289 Jun 8 23:50 post-revprop-change.tmpl
-rw-r--r-- 1 root root 1567 Jun 8 23:50 post-unlock.tmpl
-rw-r--r-- 1 root root 3426 Jun 8 23:50 pre-commit.tmpl
-rw-r--r-- 1 root root 2410 Jun 8 23:50 pre-lock.tmpl
-rw-r--r-- 1 root root 2786 Jun 8 23:50 pre-revprop-change.tmpl
-rw-r--r-- 1 root root 2100 Jun 8 23:50 pre-unlock.tmpl
-rw-r--r-- 1 root root 2780 Jun 8 23:50 start-commit.tmpl
備份下配置文件
[root@centos hooks]#cp post-commit.tmpl post-commit
[root@centos hooks]#chmod +x post-commit
修改post-commit配置文件
[root@centos hooks]# vim post-commit
#!/bin/sh
REPOS="$1"
REV="$2"
export LC_CTYPE="en_US.UTF-8"
export LC_ALL=
LOCALPATH="/svncode/test/"
WEBPATH=/usr/local/apache-tomcat-8.5.9/webapps/
DATE=`date +%F`
SVN=/usr/bin/svn
[ ! -d ${LOCALPATH} ] && mkdir ${LOCALPATH} -p
##update code
$SVN update ${LOCALPATH} --username=test --password=test123
#backup web dir
cd /usr/local/apache-tomcat-8.5.9/webapps/
mv test test.${DATE}
##update code and restart Tomcat service
ln -s $LOCALPATH $WEBPATH
cd /usr/local/apache-tomcat-8.5.9/bin/
./shutdown.sh
sleep 2
./startup.sh
備注:SVN服務(wù)器與WEB在同一臺(tái)服務(wù)器上,如果分開,配置是需要有所變化的,以上配置供參考,但方法與步驟相同
首先我們?cè)赪EB站點(diǎn)目錄下更新下當(dāng)前的代碼,這個(gè)更新的動(dòng)作相當(dāng)于將SVN的代碼目錄在WEB目錄下復(fù)制了一個(gè)“副本”
svn co svn://192.168.4.254:/doc/test /svncode/test/ --username=test01 --password=test123
[root@centos test]# pwd
/usr/local/apache-tomcat-8.5.9/webapps/test
[root@centos test]# ll
total 216
-rw-r--r-- 1 root root 1241 Jun 11 04:06 index.html
-rw-r--r-- 1 root root 142943 Jun 10 20:12 server.jpg
-rw-r--r-- 1 root root 68533 Jun 10 20:12 u.jpg
打開瀏覽器測(cè)試訪問
接下來模擬開發(fā)修改相關(guān)代碼文件,重新提交了代碼至SVN版本庫(kù)
重新打開瀏覽器測(cè)試訪問頁面是否更新?
代碼自動(dòng)更新至WEB目錄完成
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何配置SVN的hooks功能自動(dòng)更新代碼”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!