Jrebel热部署

Posted by Wh0ami-hy on March 2, 2024

1. 背景

热部署能够使研发人员对代码的绝大部分修改都能够立即生效。在一个可控的范围内,帮助研发同学减少频繁的重启服务次数,节省碎片化的时间

2. JRebel

2.1. 本地热部署

安装JRebel

IDEA中安装JRebel and XRebel for IntelliJ 插件

在线生成GUID

打开jrebel 的设置面板,选择Connect to online licensing service

服务器地址:chaojiniu.top:8888/{GUID}

邮箱地址:任意邮箱

设置成离线工作模式

在设置中点击work offline,切换为离线模式

设置自动编译

由于JRebel是实时监控class文件的变化来实现热部署的,所以在IDEA环境下需要打开自动编译功能才能实现随时修改,随时生效。

  • compiler下勾选Build project automatically
  • advanced Setting 下勾选 Allow auto-make to start even if developed application is currently running

2.2. 远程热部署

  • 打开jrebel 的设置面板,点击Startup 初始化配置,选择run on remote,点击确认
  • 打开JRebel Panel 窗口,将需要热部署的项目打包,生成 rebel.xml 和 rebel-remote.xml
  • 通过 maven package 重新打包生成 jar 包,上传至服务器
  • 服务器端启动服务
  • 本地 JRebel -> Remote Servers 添加远程服务器
  • 点击 Test Connection,点击 OK 确认
  • 可以先远程热部署后,再点击远程调试 Debug,即可实现先热部署再调试,大大加快开发效率

2.3. 远程调试

  • 右上角点击,Edit Configurations,点击 + 号,创建 Remote 应用
  • 填写远程服务器信息
  • 复制 Command line arguments for remote JVM 下的命令(命令将在启动的时候来使用)
  • 启动服务 java -jar 拼接上一步获得的命令
  • 点击 Debug 即可进行远程调试

3. 基于 Docker 远程调试与部署

4. 远程调试,服务阻塞怎么办


本站总访问量