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

热更新-arthas + jenkins/Bshell实现

1.首先下载相关软件

下载 jenkins.war arthas-boot.jar BathShell

2.启动arthas 启动jenkin 在war包目录下打开命令界面

在这里插入图片描述后输入 java -jar jenkins.war 回车执行
在这里插入图片描述在这里插入图片描述
看到启动成功后,完成如果中间出现了一些报错,不用惊慌大多数都是因为版本问题某些插件没下载成功导致的。我们只需要关注自己需要的插件即可。
http://localhost:8080/
正常下载安装都是傻瓜式的,默认端口8080,然后我们打开网址
在这里插入图片描述

4.点击设置,配置linux服务器相关的ip 密码等

在这里插入图片描述下载相关插件,我的插件都是单独网址下载的,因为有些插件已经不让下载了,下架了
在这里插入图片描述主要下载这个publish-over-shh.hpi 因为我们要配置操作jenkins。
下载好的文件,通过下图上传
在这里插入图片描述下滑找到
在这里插入图片描述
下面配置看自己需要

在这里插入图片描述
在这里插入图片描述最后进入正题,配置linux上部署的服务器信息
在这里插入图片描述下滑
在这里插入图片描述配置linux服务器相关信息 加入秘钥,点击test成功
在这里插入图片描述
在这里插入图片描述在上面图片 输入我们要运行的脚本,例如我们要上传本地文件到linux服务器,并执行如下文件,用jenkins操作多台服务器上的多个服实现更新
#!/bin/bash

获取所有 GameServer.jar 进程的 PID

pids=$(ps aux | grep GameServer.jar | grep -v grep | awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲') if [ -z "pids" ]; then
echo “No GameServer.jar processes found.”
exit 1
fi
for pid in $pids; do
echo “Processing PID: $pid”
# 检查 PID 是否有效
if ! kill -0 $pid > /dev/null 2>&1; then
echo “PID $pid is not running or not accessible.”
continue
fi
# 启动 Arthas 并附加到指定的 Java 进程,重新定义类
java -jar arthas-boot.jar $pid -c “redefine /data/tmp/VegetealManager.class”
if [ $? -ne 0 ]; then
echo “Failed to redefine class for PID: $pid”
else
echo “Successfully redefined class for PID: $pid”
fi
done
echo “Finished processing all PIDs.”

5.或者我们下载BatchShell软件

在这里插入图片描述在这里插入图片描述通过勾选可以执行我们的shell命令,例如在linux服务器下执行我们上面编写的.sh文件

在这里插入图片描述
上图是把windows本地文件,上传到我们对应的服务器上
在这里插入图片描述记得把上图linux文件存放的路径写上,例如我的各个Linux服务器目录/data/tmp/


http://www.kler.cn/a/563268.html

相关文章:

  • 免费PDF工具
  • 【iOS】小蓝书学习(四)
  • Qwen2.5-VL技术报告:多模态大模型的新SOTA!视觉理解能力全面超越GPT-4o
  • 公共数据授权运营模式研究(总体框架、主要模式及发展趋势)
  • 解锁C# XML编程:从新手到实战高手的蜕变之路
  • 【学习方法】学习软件专业课程的思考方式
  • SpringBoot文件上传实战:存储架构设计与服务器空间优化
  • 游戏引擎学习第124天
  • mysql.gtid_executed表、gtid_executed变量、gtid_purged变量的修改时机
  • 【算法系列】归并排序详解
  • nss刷题5(misc)
  • 【目标检测旋转框xml2txt】rolabelimg标注的xml格式label转YOLO格式txt文件
  • CSS3 圆角:实现与优化指南
  • Python 3 实用工具库
  • C++ 中的 char[] 和 char*
  • spring boot 连接FTP实现文件上传
  • 汽车制造又一革新:Profinet-EtherCAT实现高精度激光焊接
  • 3DM转换成PLY
  • Linux 有哪些特殊虚的拟文件系统,有什么作用?
  • Linux运维——硬件管理