完美解决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重启了,也不会影响对应的子进程,相关的子进程也不会结束掉

相关推荐
Xiao Tong33314 分钟前
linux第一课(操作系统核心)
linux·运维·服务器
贩卖纯净水.40 分钟前
共享内存喜欢沙县小吃
linux·运维·服务器·c++
写代码的学渣1 小时前
运维工程师概述及职责
linux·运维·系统安全
robot_大菜鸟1 小时前
linux -L4.linux 暂停和启动进程
linux·运维·服务器
摇曳的精灵1 小时前
单机docker-compose部署minio
运维·docker·容器·文件·minio·compose
一心只为学2 小时前
SQL server 日常运维命令
运维·数据库·sqlserver
小鹿( ﹡ˆoˆ﹡ )2 小时前
Excel数据清洗工具:提高数据处理效率的利器
linux·运维·excel
人世间的烟火2 小时前
linux更换阿里镜像源
linux·运维·服务器
Successssss~2 小时前
【南京工业大学主办,JPCS出版】自动化、电气控制系统与设备
运维·人工智能·机器学习·自动化·材料工程
AI原吾2 小时前
探索自动化的魔法:Python中的pyautogui库
运维·python·自动化