jenkins 部署启动项目后 杀死子进程

Leonie ·
更新时间:2024-09-20
· 676 次阅读

前言

最近在鼓捣 jenkins 的时候,遇到了很多问题,这个问题搞的好难受,就是我写的项目启动脚本,在服务器本地可以执行,但是在jenkins上构建后执行,项目就启动不起来。

搞得我要裂开了,后来站在巨人的肩膀上,终于找到了解决方案!!!


解决方案

问题发生的前提:你的 jenkins 所在的服务器和 你部署项目的服务器是同一台(我自己鼓捣所以就用了同一台,咱 们项目开发的时候,都是服务器分开的),所以咱们很少遇到这个问题。


正如题目写的,就是 jenkins 在构建结束之后,会杀死它创建的子进程,所以你写的后台执行的脚本也会被kill掉。


方案一:

# 在执行的脚本前边加入:不要杀死我 ~ export BUILD_ID=dontKillMe # 要执行的脚本命令 nohup java -jar veryGoodItem.jar > logTest.log 2>&1 &
方案二: # 临时改变BUILD_ID值,使得Jenkins不会找到并结束掉run.sh启动的后台进程 OLD_BUILD_ID=$BUILD_ID echo $OLD_BUILD_ID BUILD_ID=dontKillMe # 要执行的脚本命令 nohup java -jar veryGoodItem.jar > logTest.log 2>&1 & # 改回原来的BUILD_ID值 BUILD_ID=$OLD_BUILD_ID echo $BUILD_ID

最后和大家说俩句:遇到问题的时候,不能想当然,觉得不是那个问题,还是要多尝试,说不定你就成功了。毕竟行动见真知,奥里给!!!

凉快-Eric 原创文章 232获赞 314访问量 12万+ 关注 他的留言板 展开阅读全文
作者:凉快-Eric



进程 启动 启动项 jenkins

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章