jenkins中通过execute shell启动tocat无法启动问题

时间:2021-04-16 15:56:49

以前使用Jenkins直接使用tomcat::redeploy方式,偶尔会PermGen space (Permanent Generation space,是指内存的永久保存区域OutOfMemoryError;而且发布时候需要更改pom文件中tomcat的url、端口、用户、密码等,最主要的是还需要tomcat下webapp下的manager,如果没有manager是无法发布的。

基于以上问题,为了更好的控制版本以及发布,通过clean install compile -e -U -Pdev类似命令来操作,然后excute shell来copy package,关闭再启动tomcat,发现 tomcat被关闭了,但是没有启动。解决方案是 在shell命令加入BUILD_ID=DONTKILLME;如下图:

jenkins中通过execute shell启动tocat无法启动问题

原因是:在jenkins中配置自动更新部署项目时,如果采取用execute shell启动/关闭tomcat,会发现可以进行关闭tomcat,但是无法启动tomcat,虽然构建会显示执行成功,但是查看进程,tomcat是没有启动的。这是因为Jenkins默认会在Build结束后Kill掉所有的衍生进程