溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何配置SVN的hooks功能自動更新代碼

發(fā)布時間:2021-12-24 10:54:00 來源:億速云 閱讀:151 作者:小新 欄目:云計算

這篇文章主要介紹了如何配置SVN的hooks功能自動更新代碼,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

SVN hooks為何而用?

傳統(tǒng)的WEB網(wǎng)站代碼發(fā)布基本依靠手工操作

大概的整個流程如下:

開發(fā)本地環(huán)境開發(fā)代碼

提交SVN版本庫

然后將本地環(huán)境代碼使用工具上傳至待發(fā)布目錄

備份原WEB站點代碼目錄

發(fā)布新代碼至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服務(wù)器與WEB在同一臺服務(wù)器上,如果分開,配置是需要有所變化的,以上配置供參考,但方法與步驟相同

測試訪問

首先我們在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的hooks功能自動更新代碼

接下來模擬開發(fā)修改相關(guān)代碼文件,重新提交了代碼至SVN版本庫

如何配置SVN的hooks功能自動更新代碼

如何配置SVN的hooks功能自動更新代碼

如何配置SVN的hooks功能自動更新代碼

重新打開瀏覽器測試訪問頁面是否更新?

如何配置SVN的hooks功能自動更新代碼

代碼自動更新至WEB目錄完成


感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何配置SVN的hooks功能自動更新代碼”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI