先描述下问题:
在 A 机器上搭建了 jenkins,B 机器是测试环境
jenkins 创建 item,从 gitlab 上拉取代码编译 war 包通过 ssh 发送到 B 机器上,B 机器上有个脚本,执行停止 tomcat(通过 kill 命令),备份拷贝 war 等操作,再执行 tomcat 的 startup.sh 脚本。
发现只要 jenkins 一退出,启动的 tomcat 进程也不在了,试过很多方法,比如加 BUILD_ID,export JAVA_HOME,TOMCAT_HOME 等,直接在脚本里启动 tomcat 的 bootstrap 程序都不行,后来换了一台机器测试了下,发现那台机器就没这个问题,就怀疑是 B 机器本身的问题,问了开发和运维都不知道。
本来想直接把 war 包更新到 tomcat 的 webapps 目录下,这样就不用重启 tomcat,但是领导说一定要和开发人员的操作流程一样。
如果有遇到过这种问题的兄弟,麻烦指点下!