远程部署测试神器之JRebel

/ 工具 / 没有评论 / 418浏览

先说说我这次使用感觉到的厉害之处: 线上测试环境随本地idea一起热部署;

就是你在本地idea修改代码后,线上测试环境同步跟着一起变化.简直太方便了.抛弃了以往那种修改功能后还要进行打包上传部署等等多余的步骤;

以下介绍如何集成:

1.idea安装插件

 然后进入到idea的setting后,找到下面的jrebel,点击选择work offline(离线使用)到如下页面

 2.现在配置线上测试环境的热部署插件

1)下载插件jar包后进行jihuo和设置密码:

JRebel Release Archive | JRebel.com下载zip文件到服务器后解压缩;

2)进入文件夹找到jar执行设置8位密码:

java -jar jrebel.jar -set-remote-password 12345678

3)激活:

进入bin目录,通过上面获取的jihuo网址,执行以下命令

./activate.sh http://xxx:xx/xxxxxx xxx@xxxx

4)设置测试软件的启动命令(我这里用的tomcat):

#以下是参考网上的jar包启动方式
# 远程热部署 启动
java -agentpath:/root/commom/jrebel/lib/libjrebel64.so -Drebel.remoting_plugin=true -jar webapp.jar

远程热部署+远程调试 启动

java -agentpath:/root/commom/jrebel/lib/libjrebel64.so -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -Drebel.remoting_plugin=true -jar webapp.jar

java -agentpath:/var/www/jrebel/lib/libjrebel64.so -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -Drebel.remoting_plugin=true -jar webapp.jar -port 8083

 下面是我实际中的war启动方式,修改tomcat中bin目录中的catalina.sh,添加如下:

JAVA_OPTS="-Dspring.profiles.active=test -XX:+UseG1GC -Xms1000m -Xmx1000m  -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/oom.dump -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005  -XX:+UnlockDiagnosticVMOptions -XX:+PrintNMTStatistics -XX:NativeMemoryTracking=detail

-agentpath:/opt/wftest/jrebel/jrebel/lib/libjrebel64.so -Drebel.remoting_plugin=true"

#最后一行的为你下载的插件目录

3.配置idea

1)设置idea热部署

 按住 Ctrl + Alt + Shift + / 弹出,选择 Registry 后勾选

2)配置idea插件

 以下我测试只能用ip加端口方式,不能用域名;填写你设置的密码,然后可以点测试连接;

 3)打包上传到测试服务器,选择要打包的项目,生成xml

 

maven打包上传部署;

4.一切就绪,开始使用

 

选择debug(随意哪个小虫子图标)运行,可实现修改代码本地热部署,并且同时同步到远程,如果不想实时同步远程,则取下下图的选择,使用上图第三个箭头手动同步远程部署;

下拉框那里选择JRebel是热部署启动,选择XRebel是包含了一个ui界面的启动,能够展示你的控制台内容,以及调用接口的各方法所使用时间等;

选择XRebel启动后,控制台会输出ui控制台地址,打开后第一次让输入激活信息,然后就可以使用了:

 

怎么样,感觉好用赶紧用起来!!!