您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何配置SVN的hooks功能自動更新代碼,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
SVN hooks為何而用?
傳統的WEB網站代碼發布基本依靠手工操作
大概的整個流程如下:
開發本地環境開發代碼
提交SVN版本庫
然后將本地環境代碼使用工具上傳至待發布目錄
備份原WEB站點代碼目錄
發布新代碼至WEB目錄
基于這類重復操作的問題,為了提高效率,因此,引入了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目錄完成
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何配置SVN的hooks功能自動更新代碼”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。