完美解决Jenkins重启后自动杀掉衍生进程(子进程)问题

完美解决Jenkins重启后自动杀掉衍生进程(子进程)问题

本文中使用的Jenkins版本为Version 2.452.3

先罗列一下前置问题:Jenkins任务构建完成自动杀掉衍生进程

用过Jenkins的都知道,Jenkins任务构建完成后,是会自动杀掉衍生进程,这是为了释放系统资源和确保任务执行的可靠性和安全性,当在本机执行一些任务进程的时候,需要的是部署完成之后不能结束掉进程的(常见的是Java项目),网上针对这个问题的解决方案大致是这几种:

  • 加参数
    比如:BUILD_ID=dontKillMe,JENKINS_SERVER_COOKIE=dontKillMe, JENKINS_NODE_COOKIE=dontKillMe等等之类的,代码示例:

    BUILD_ID=dontKillMe nohup java -jar xxx.jar >log.out 2>&1 &

  • 添加全局属性

  • 修改Jenkins启动配置
    直接修改Jenkins 的service文件,/lib/systemd/system/jenkins.service,在Environment参数中增加参数-Dhudson.util.ProcessTree.disable=true,这种就是不需要在每个任务的shell中添加BUILD_ID这类参数

上面这几种方法是解决一次构建之后不杀衍生进程的方法,但是!!如果Jenkins重启了,那么之前所有构建部署的进程全部都会被自动杀掉了

解决方法就是 使用SSH执行部署,即在本机上也同样使用SSH来进行部署,跟部署到远程服务器一样,这样即使本机上Jenkins重启了,也不会影响对应的子进程,相关的子进程也不会结束掉

相关推荐
不一样的故事1266 小时前
禁止访问 是 SVN 标准 403 权限拒绝错误
运维·安全·自动化
我想成为你噶叻叻猪7 小时前
imx6ull板子ping不通ubuntu
linux·运维·ubuntu
桌面运维家7 小时前
校园机房vDisk IDV云桌面Linux更新部署方案
linux·运维·服务器
cyber_两只龙宝7 小时前
【Oracle】 Oracle之SQL的子查询
linux·运维·数据库·sql·云原生·oracle
遇印记7 小时前
网络运维DDos攻击
运维·网络·ddos
司南-70497 小时前
opencode环境搭 并 配置自定义BASE URL
linux·运维·服务器·人工智能
特长腿特长8 小时前
LVS_DR 模式的原理
linux·运维·网络·云原生·centos·lvs
yyk的萌8 小时前
Claude Code 命令大全
linux·运维·服务器·ai·claude code
Sirius Wu8 小时前
Docker 镜像的构建、打包、变更、再次打包全流程
运维·docker·容器
Harvy_没救了9 小时前
【Linux】Nginx - 反向代理
linux·运维·nginx