当前位置: 首页 > news >正文

Jenkins发布spring项目踩坑——nohup java -jar发布后显示成功,但实际jps查询并未运行

Build Steps中选择执行Shell,内容如下

⚠️

如果纯写nohup java -jar 肯定会出现发布后显示成功,但实际用jps命令查询并未运行的情况,这是因为jenkins根据BUILD_ID识别某个进程是否为构建过程的衍生进程,所以添加BUILD_ID后,jenkins就无法识别是否为衍生进程,则此进程能在后台保留运行。
结论:Jenkins程序只负责运行伪命令行nuhup 命令,并不保证是否成功运行 nuhup后面的命令。

TARGET_DIR=/opt/app/springboot-test # 自定义存放jar包的目录
JAR_NAME=demo-0.0.1.jar   # 根据实际产物名调整
mkdir -p "$TARGET_DIR"
# 拷贝最新构建产物
cp -f target/*.jar "$TARGET_DIR/"# 检测并停止旧进程(更稳妥的 ps+grep)
PID=$(ps -ef | grep java | grep "$JAR_NAME" | grep -v grep | awk '{print $2}')
if [ -n "$PID" ]; thenecho "发现旧进程 PID: $PID,正在停止..."kill -9 "$PID"echo "旧进程已停止"
elseecho "没有发现旧进程"
fi# 启动新进程
echo "启动新版本服务..."
BUILD_ID=spring_test_demo # 这个值随便写
nohup java -jar $TARGET_DIR/$JAR_NAME > $TARGET_DIR/app.log 2>&1 &
http://www.dtcms.com/a/343849.html

相关文章:

  • React 学习笔记1 组件、State
  • 【Tech Arch】Hadoop YARN 大数据集群的 “资源管家”
  • 企业级知识库+智能客服地大模型对比表
  • 实现自己的AI视频监控系统-第一章-视频拉流与解码4(重点)
  • MATLAB启动路径MATLAB202X/bin更改问题
  • 【Python】-- 机器学习项目 - 基于逻辑回归算法的乳腺癌数据集分类
  • 理解AI 智能体:智能体架构
  • DAY14-新世纪DL(DeepLearning/深度学习)战士:破(优化算法)2
  • k8sday14数据存储(2/2)
  • BigData大数据应用开发学习笔记(03)离线处理--数据仓库Hive
  • 直播预约 | CATIA MODSIM SmartCAE带练营第3期:让每轮设计迭代都快人一步!
  • 【C语言16天强化训练】从基础入门到进阶:Day 6
  • 前端查漏补缺
  • 图表组件SciChart WPF再升级:v8.9带来油气井图、新交互与可视化增强
  • PDF文档安全升级:三招实现文本转曲线(防篡改+高清输出)
  • WPF控件随窗体大宽度高度改变而改变
  • Spring Boot 集成 Swagger UI 详细教程
  • 【学习】CSMM认证与CMMI认证的对比分析
  • logback-spring.xml 文件
  • jenkins实现分布式构建并自动发布到远程服务器上 jenkins实现自动打包编译发布远程服务器
  • 逆向代码笔记
  • 51单片机-驱动步进电机模块教程
  • 移动应用青少年模式开发成本解析:原生、Flutter与Uniapp方案对比-优雅草卓伊凡
  • Redis 数据类型:List 列表的深度解析与应用
  • Apache Ozone 2.0.0集群部署
  • 潇洒郎: Python实现检测鼠标移动和音视频播放行为——打造省电脚本
  • 反催收APP开发思路:用Flutter打造证据链管理工具
  • JVM 调优全流程案例:从频繁 Full GC 到百万 QPS 的实战蜕变
  • 无线数传模块实现实时信号传输,保障煤堆设备生产进度稳定
  • 【LeetCode每日一题】238. 除自身以外数组的乘积