Jenkins中通过execute shell无法启动tomca

2020-03-04  本文已影响0人  Franck_

使用jenkins和maven配合编译成功后。 进行部署,部署完成后,需要重启tomcat使新编译的代码生效。

所以就需要在编译后,执行一些shell命令,如图:


重启tomcat

这时候执行tomcat的启动命令会执行失败,因为Jenkins会在构建完成后使用processTreeKiller杀掉了所有子进程,而且这是Jenkins的默认行为。Jenkins的做法非常合理。当一次build异常结束,或被人终止时,必然需要结束所有这次build启动的子进程。

可以通过更改BUILD_ID的值来防止子进程被杀死;做法是写一个tomcat重启的脚本, 脚本内修改BUILD_ID。

执行脚本

脚本内容如下:

#!/bin/bash
export BUILD_ID=dontkillme #随便写

sh tomcat_path/bin/shutdown.sh
sleep 3s
sh tomcat_path/bin/startup.sh 

这样,就可以通过Jenkins来启动tomcat了。

参考资料:
Jenkins中通过execute shell无法启动tomcat

上一篇下一篇

猜你喜欢

热点阅读