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不要关闭进程。
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