jenkins部署插件没有部署到Tomcat的webapps目录下

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012190514/article/details/83926861

我们一般是使用Deploy to container Plugin这个插件来部署Tomcat,一般没有部署到webapps目录下一般是

这一块的项目相对路径不对导致的,有个万能的配置

但是使用这种插件使用了热部署,可能会导致内存溢出。另外,这个插件他依赖Tomcat中 manager项目,如果你的webapps不慎删除的话,会导致部署失败。

所以,推荐使用Publish over SSH 

我参考了这篇博文https://www.jb51.net/article/142704.htm

1、在系统管理-》系统设置里找到Publish over SSH然后输入:

2、配置Post Steps

这里还是接着上面的项目,这个配置得安装了上面的插件后才会显示!

Transfer SetSource files:表示要上传的本地的war包及路径,可到工作空间去看

Remove prefix:表示要上传时要去除的文件夹,即只上传war包

remote driectory:即表示执行时的路径,相当于把war包上传到这里了

exec commad:要执行的命令

如图,会将war包放到home/admin文件夹,接着我会执行我写的Shell命令。主要涉及,停止tomcat,备份原war包,删除webapp下原war包,将home/admin下的新war包拷进来,启动tomcat,然后就完成了。这样就避免了热部署内存溢出导致服务器崩溃的问题了。

脚本文件:即图中的save.home.omm.sh 文件,我简单些了一些注释

#!/bin/sh 
#defined 指定tomcat路径 
TOMCAT_HOME="/usr/java/tomcat/apache-tomcat-7.0.67/" 
#找到tomcat pid
ID="ps -ef | grep java | grep tomcat|awk '{print $2}'"
echo $ID  
echo "kill tomcat" 
#杀掉Tomcat进程
kill -9 $ID 
echo "remover war file" 
#进入tomcat的webapps目录
cd "$TOMCAT_HOME"/webapps
#删除 原来已有的war包和解压的文件夹 
rm -rf JavaWeb-0.0.1-SNAPSHOT 
rm -rf JavaWeb-0.0.1-SNAPSHOT.war 
echo "copy war to webapp" 
#切换到暂存war包的文件夹
cd /home/lin 
#执行复制命令
cp JavaWeb-0.0.1-SNAPSHOT.war "$TOMCAT_HOME"/webapps 
#最后,再切换到Tomcat目录
cd "$TOMCAT_HOME"/bin 
echo "start tomcat" 
#启动Tomcat
./startup.sh

猜你喜欢

转载自blog.csdn.net/u012190514/article/details/83926861