linux svn 自动部署,Linux下SVN+多个Tomcat自动部署

本文介绍了如何配置SVN自动更新脚本,以在提交代码后自动同步到多台Tomcat服务器的webapps目录下。通过在SVN的hooks目录下创建post-commit脚本,并设置权限,实现了提交时自动更新到指定的Tomcat目录,从而提高开发效率。此外,还分享了一个优化过的更新脚本,利用svnlook dirs-changed命令来检测并仅更新变更的目录,提高了同步速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中都是jsp开发,所以用到Tomcat。

在我文章中也写过多个Tomcat 的部署,具体可以参考:http://www.cnblogs.com/magmell/p/7045193.html

SVN项目目录:/home/svn

Tomcat访问目录:/usr/local/tomcat/多个tomcat端/webapps/ROOT

把SVN项目检出到Tomcat各个webapps下的ROOT目录中。

cd /usr/local/tomcat/多个tomcat端/webapps/ROOT

检出到当前ROOT目录中:

命令:svn co svn://localhost/src/resources ./

当然可以写一个脚本做到自动检出多个Tomcat目录的。

SVN自动同步:

切换到/home/svn/hooks/

首先:cp post-commit.tmpl post-commit.tmpl.bak

然后:mv post-commit.tmpl post-commit

chmod +x post-commit设置为可执行

也就是说在提交的时候,触发这个脚本

vim post-commit

写入:

svn update --no-auth-cache --username 用户名 --password 密码 /usr/local/tomcat/Tomcat名称/webapps/ROOT

多个Tomcat端可以写多个svn update语句,这样 ,提交的时候就会自动同步到服务器上的web目录中去了。

这样会出现一个问题:svn卡,后来优化了。利用svnlook dirs-changed命令,检测到改变的目录,然后让其对应到相应的目录,经过优化后,速度明显提升。

一下是我写的一个更新脚本:

#更新脚本

SVN=/usr/bin/svn     #svn命令目录

WEB=/home/data    #web目录,即要更新到这里的目录

LOG_PATH=/tmp/svn_hook.log    #日志

echo "Time:"`date '+%Y-%m-%d %T'`>>$LOG_PATH

echo `svnlook dirs-changed /home/svn`>>$LOG_PATH

echo “----------------------------------------”>>$LOG_PATH

for i in `svnlook dirs-changed /home/svn`

do

$SVN update $WEB/$i

done

Linux下svn提交文件后自动同步更新到网站目录

有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkou ...

linux下svn 搭建

linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion       yum安装SVN#mkdir -p /opt/svn/repos       创建s ...

Linux下SVN服务器安装配置及客户端安装说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值