[IDEA]通过JRebel进行远程热部署

通过JRebel进行远程热部署

本文中使用的IDE为IDEA,版本IntelliJ IDEA 2017.1.6,JRebel版本为7.1.6。其他版本的使用和配置情况可能有所差异,请大家注意。

IDEA中进行基本配置

  1. 首先在IDEA中打开JRebel的配置页面,如下图:
    打开JRebel配置
  2. 点开以后可以看到如下图显示的配置:
    选择服务器运行JRebel
  3. 选择目标环境如下图,这里我们以tomcat作为容器为例,其他的类似:
    选择目标环境
  4. 这里我们可以看到,插件已经很好的提示了该如何在服务器侧进行配置以方便使用JRebel。
    服务器端配置的步骤提示

服务端配置

  1. 按照步骤一步一步来,这里可以复制命令:
    复制配置
    提示:第一个这里的JRebel服务端需要的文件,本人实验时候,下载龟速,挂上代理直接起飞。可以现在本地下好,直接上传服务器。如下图:
    服务器下载特别慢
    上传、解压后的状态:
    JRebel服务端需要的文件
    蓝色文件夹中的文件就是服务端需要的文件了。
  2. 首先,进入tomcat目录中,具体看服务器环境,然后在bin下创建启动脚本:
    创建服务端通过JRebel启动tomcat的脚本
    将之前步骤提示的脚本内容粘贴进去:
    JRebel服务端启动脚本自定义的部分
    注意:上图中两个圈起来的地方,第一个是之前jrebel-stable-nosetup.zip文件解压的目录,后边的配置是jrebel服务监听的端口号。然后保存文件退出。别忘了给文件加执行权限,同时确保catalina.sh也有可执行权限:
    添加可执行权限
  3. 运行脚本启动程序./catalina-jrebel.sh start

项目文件配置

  1. 点击这个链接查看项目文件的配置说明(同样得挂代理,否则龟速),里面详细说明了不同的项目应该如何配置项目中的文件,从而使用JRebel远程热部署。:
    查看项目的配置
  2. 具体配置细节感兴趣的可以详细查看,这里直接找到针对gradle项目中配置有多个子模块的场景进行的配置,可以最大程度满足项目的需求,如下图:
    JRebel多模块配置
    懒得自己看的同学可以直接拿走,添加到根目录下的build.gradle文件中即可。改配置中会针对子模块里面的jarwar任务自动执行前置任务,从而在jar包和war包中生成jrebel需要的xml配置文件。如果生产环境中不希望存在该文件可以另行处理。

    buildscript {
      repositories {
        mavenCentral()
      }
      dependencies {
        classpath "org.zeroturnaround:gradle-jrebel-plugin:1.1.7"
      }
    }
    allprojects { project ->
      plugins.withId('java') {
        project.apply plugin: 'org.zeroturnaround.gradle.jrebel'
        def jarTask = project.tasks.findByName('jar')
        if (jarTask) {
            jarTask.dependsOn(generateRebel)
        }
        def warTask = project.tasks.findByName('war')
        if (warTask) {
            warTask.dependsOn(generateRebel)
        }
      }
    }
  3. 上边配置好了以后,回到JRebel的配置页,找到远程服务器配置的标签:
    添加远程服务器
    添加一个远程服务器,其中Server name为项目名称,对应到webapps中的文件夹,即XXX.war中的XXXServer URL*对应的是服务器的IP和端口号。如果设置类JRebel服务端认证,需要勾选Server authentication,并输入密码。使用下面的命令可以设置JRebel服务端的密码。

    java -jar jrebel.jar -set-remote-password <NewPassword>

    如果HTTP的服务需要认证,即tomcat设置了访问密码,需要勾选HTTP Basic authentication,并对应输入用户名、密码。
    添加服务器地址

  4. 上边的都搞好了,基本就成功了。首先需要使用gradle中的war任务将war包打好,放到服务器的tomcat目录下的webapp中。然后找到JRebel配置的项目栏,如下图:
    打开JRebel项目配置
    选中要进行热部署的项目,打上勾。
    选中配置的模块
    点击按钮将最新的文件推送到服务端。
    文件推送到服务端

远程调试

待补充

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值