如何配置SVN的hooks功能自动更新代码

87次阅读
没有评论

共计 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 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2187字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)