1. 背景
热部署能够使研发人员对代码的绝大部分修改都能够立即生效。在一个可控的范围内,帮助研发同学减少频繁的重启服务次数,节省碎片化的时间
2. JRebel
2.1. 本地热部署
安装JRebel
IDEA中安装JRebel and XRebel for IntelliJ
插件
打开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 即可进行远程调试