解决Jenkins默认终止Shell产生服务进程的问题

1、Windows环境

  • Jenkins进行Build steps的使用Execute Windows batch command启动微服务(Jar包),Jenkins会默认终止Shell产生的服务进程,而在命令行能够正常运行的服务进程。

1.1 使用命令行启动服务是正常

  • 使用命令行执行
  • 正常启动nacos服务
  • 正常输出日志

1.2 使用Jenkins启动服务则会自动关闭服务

  • 设置启动服务脚本如下:
  • Jenkins输出成功
  • 实际服务没启动,在初始化时就被Jenkins关闭了
  • 输出日志

1.3、 解决方案

  • 修改Execute Windows batch command的脚本,在脚本首行加入 BUILD_ID=dontKillMe,告诉Jenkins不要关闭进程。
shell 复制代码
rem 设置局部变量,不让Jenkins自动关闭以下进程
set BUILD_ID=dontKillMe

rem 设置执行的jar包文件
set JAR_FILE_REGISTER=E:\jar\pigx-register.jar

rem 关闭已启动的进程
for /f "tokens=5" %%a in ('netstat -ano ^| findstr :8848') do (
    taskkill /F /PID %%a
)

rem 运行Jar包
start "register" /b  java -Dfile.encoding=utf-8 -Xms256m -Xmx256m -jar %JAR_FILE_REGISTER% > app.log 2>&1
相关推荐
jiarg1 分钟前
linux 内网下载 yum 依赖问题
linux·运维·服务器
yi个名字24 分钟前
Linux第一课
linux·运维·服务器
菜鸟xy..1 小时前
linux 基本命令教程,巡查脚本,kali镜像
linux·运维·服务器·kali镜像·巡查脚本·nmtui
暴躁的小胡!!!1 小时前
Linux权限维持之协议后门(七)
linux·运维·服务器·网络·安全
安 当 加 密1 小时前
中小企业Radius认证服务器的低成本高安全解决方案
运维·服务器·安全
ChinaRainbowSea2 小时前
Linux: Centos7 Cannot find a valid baseurl for repo: base/7/x86_64 解决方案
java·linux·运维·服务器·docker·架构
snpgroupcn3 小时前
ECC升级到S/4 HANA的功能差异 物料、采购、库存管理对比指南
运维·安全·数据库架构
晨曦启明7114 小时前
Linux云计算SRE-第十八周
linux·运维·云计算
暴躁的小胡!!!4 小时前
Linux权限维持之vim python 扩展后门(五)
linux·运维·服务器·网络·安全
优维科技EasyOps4 小时前
优维眼中的Manus:AI工程化思维重构Agent的运维端启示
运维·人工智能·重构