天天看点

jenkins解决构建完成后自动杀掉衍生进程

java启动war包解决方式

# 添加启动参数 -Dhudson.util.ProcessTree.disable=true
java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war
           

修改BUILD_ID

* 原理:jenkins默认会在构建完成后杀掉构建过程中又jenkins中shell命令触发的衍生进程。jenkins根据BUILD_ID识别某个进程是否为构建过程的衍生进程,故修改BUILD_ID后,jenkins就无法识别是否为衍生进程,则此进程能在后台保留运行*

1.在execute shell中加入BUILD_ID=DONTKILLME

* DONTKILLME仅仅为增加可读性,则任意修改其他 *

* 在想保留的进程启动命令前加入这一行 *

# 举例如下
BUILD_ID=DONTKILLME
sh /home/bob/restart.sh
           

2.临时改变BUILD_ID值

OLD_BUILD_ID=$BUILD_ID
echo $OLD_BUILD_ID
BUILD_ID=dontKillMe

#此处放入shell脚本或者shell命令

BUILD_ID=$OLD_BUILD_ID
echo $BUILD_ID