我是在本地测试,Jenkins装在win10本地,从gitee上拉项目下来,打包,运行;具体的过程就不详细说,当我写好构建前和构建后的脚本后,查看日志发现,项目总是启动一部分就停止了;后来发现:
Jenkins在构建完后会将相关进程kill掉需要在脚本中配置一下
总共遇到3个问题:
1、jenkins构建结束,jar随之停止
2、启动jar后,重新构建,端口占用,虽构建成功,但启动失败。运行的依然是原来的jar程序
3、修改jar的名称 方便多个程序同时运行时管理清晰
往下看:
这里脚本解决的是,jar运行以后,重新构建会失败,即已启动的jar 占用着端口,
先根据端口查出pid 再根据pid杀死正在运行的jar程序
最后 执行新代码的覆盖
@echo off
set port=8088
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
echo kill the process %%m who use the port
taskkill /pid %%m -t -f
goto start
)
:start
c:
cd C:\Users\11\Desktop\我的测试项目\demo
if exist "C:\Users\11\Desktop\我的测试项目\demo\demo-0.0.1-SNAPSHOT.jar" del "C:\Users\11\Desktop\我的测试项目\demo\demo-0.0.1-SNAPSHOT.jar"
cd "C:\Users\11\.jenkins\workspace\myproject\target\"
copy "C:\Users\11\.jenkins\workspace\myproject\target\demo-0.0.1-SNAPSHOT.jar" "C:\Users\11\Desktop\我的测试项目\demo\demo-0.0.1-SNAPSHOT.jar"
c:
cd "C:\Users\11\Desktop\我的测试项目\demo"
start "自定义doc窗口名称" java -jar demo-0.0.1-SNAPSHOT.jar &
echo good bye
exit
2.增加变量
增加一个环境变量。 这一步解决的是jenkins构建完,运行的jar war就结束的问题。
BUILD_ID:DontKillMe
系统管理–>管理节点
找到发包节点,点击设置
增加环境变量
BUILD_ID:DontKillMe
点击保存即可