解决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
相关推荐
hhb_61812 小时前
C Shell 基础语法与高阶运维实战指南
运维·c语言·chrome
爱学习的小囧13 小时前
VMware vCenter Server 9.0.2.0 资源详解+完整部署教程+下载指南+常见问题
运维·服务器·esxi·vmware·虚拟化·esxi9.0.2.0
贾斯汀玛尔斯14 小时前
每天学一个算法--单调栈(Monotonic Stack)
运维·服务器·算法
hhb_61814 小时前
Linux底层运维自动化挂载与磁盘分区实战指南
linux·运维·自动化
SpikeKing14 小时前
Server - 配置 SQLBot 智能问数项目
运维·server·sqlbot
cui_ruicheng14 小时前
Linux库制作与使用(二):ELF文件与链接过程
linux·运维·服务器
怀旧,14 小时前
【Linux系统编程】18. Linux进程信号(上)
linux·运维·服务器
舰长11514 小时前
Windows服务器修改默认远程端口3389
运维·服务器
minji...15 小时前
Linux 线程同步与互斥(五) 日志,线程池
linux·运维·服务器·开发语言·c++·算法
Dillon Dong15 小时前
【系列主题】从 Docker 构建失败看依赖隔离:多阶段构建的“隐形陷阱”
运维·docker·容器