共計 2187 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章主要介紹了如何配置 SVN 的 hooks 功能自動更新代碼,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
SVN hooks 為何而用?
傳統的 WEB 網站代碼發布基本依靠手工操作
大概的整個流程如下:
開發本地環境開發代碼
提交 SVN 版本庫
然后將本地環境代碼使用工具上傳至待發布目錄
備份原 WEB 站點代碼目錄
發布新代碼至 WEB 目錄
基于這類重復操作的問題,為了提高效率,因此,引入了 SVN hooks 功能
配置 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 服務器與 WEB 在同一臺服務器上,如果分開,配置是需要有所變化的, 以上配置供參考,但方法與步驟相同
測試訪問
首先我們在 WEB 站點目錄下更新下當前的代碼,這個更新的動作相當于將 SVN 的代碼目錄在 WEB 目錄下復制了一個“副本”
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
打開瀏覽器測試訪問
接下來模擬開發修改相關代碼文件,重新提交了代碼至 SVN 版本庫
重新打開瀏覽器測試訪問頁面是否更新?
代碼自動更新至 WEB 目錄完成
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“如何配置 SVN 的 hooks 功能自動更新代碼”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!