解决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
相关推荐
守城小轩7 小时前
轻量级HTTP&Socks代理GOST: Linux编译安装
运维·网络·网络协议
奋斗的蛋黄8 小时前
网络卡顿运维排查方案:从客户端到服务器的全链路处理
运维·服务器·网络
wanhengidc9 小时前
云手机搬砖 尤弥尔传奇自动化操作
运维·服务器·arm开发·安全·智能手机·自动化
wow_DG11 小时前
【运维✨】云服务器公网 IP 迷雾:为什么本机看不到那个地址?
运维·服务器·tcp/ip
yuanManGan11 小时前
走进Linux的世界:初识操作系统(Operator System)
android·linux·运维
i_am_a_div_日积月累_11 小时前
jenkins打包报错
运维·rust·jenkins·jenkins打包报错
一个处女座的暖男程序猿11 小时前
2G2核服务器安装ES
服务器·elasticsearch·jenkins
GIOTTO情11 小时前
舆情处置的自动化实践:基于Infoseek舆情系统的技术解析与落地指南
运维·自动化·linq
Thexhy11 小时前
在 CentOS 7 的 Linux 系统中配置 NFS
linux·运维·学习·centos
曹天骄12 小时前
Let’s Encrypt 证书申请与多服务器 HTTPS 配置指南
运维·服务器·https