Jenkins通过
Send build artifacts over SSH来动态部署项目的时候,需要执行部署的shell,我们需要在被部署的目标机器上,先那台机器上写好好脚本,然后在jenkins上,直接执行脚本即可,不然jenkins,会杀掉我们启动tomcat的命令,导致tomcat启动失败
tomcat启动脚本与自动发布脚本
链接:https://pan.baidu.com/s/1EpAZL0ITCuFa2v3Ag36HlQ
控制台输出

auto_deploy.sh
写一个,自动发布脚本,之需要配置发布的目录,tomcat启动脚本,然后即可发不到目标目录了。
#!/bin/bash
UNPKG_ROOT=/data_vde1/jeeroot//
TOMCAT_SHELL=/etc/init.d/tomcat-8081
#停止tomcat
sh $TOMCAT_SHELL stop
echo 'stop tomcat'
echo ' __ __ '
echo '_/ |_ ____ _____ ____ _____ _/ |_ '
echo '\ __\/ _ \ / \_/ ___\\__ \\ __\'
echo ' | | ( <_> ) Y Y \ \___ / __ \| | '
echo ' |__| \____/|__|_| /\___ >____ /__| '
echo ' \/ \/ \/ '
##暂停2s
sleep 2
#删除文件
echo '1.delete old ROOT derictory'
rm -rf $UNPKG_ROOT/ROOT
#拷贝到目标目录
echo '2.copy war'
cp /data_vde1/data_pkg/datav_tomcat/ROOT.war $UNPKG_ROOT
#解压文件
echo '3.unzip ROOT.war '
unzip $UNPKG_ROOT/ROOT.war -d $UNPKG_ROOT/ROOT >/dev/null
#设定为www
echo '4 set www:www to jeeroot'
chown -R www:www /data_vde1/jeeroot/
#启动tomcat
echo '5 start tomcat '
sh $TOMCAT_SHELL start
exit 0配置jenkins
配置jenkins编译完事后,执行的脚本。

Jenkins执行结果
可以看到,编译后,tomcat正常部署了,解决了启动不了tomcat的问题。

参考文章
https://www.jianshu.com/p/9c0b94aaa135
















