以前使用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启动/关闭tomcat,会发现可以进行关闭tomcat,但是无法启动tomcat,虽然构建会显示执行成功,但是查看进程,tomcat是没有启动的。这是因为Jenkins默认会在Build结束后Kill掉所有的衍生进程

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐