爲何要用熱部署?若是你公司使用微服務開發,你使用了一段時間的jenkins集成開發部署,你會發現即便有了這一套集成開發環境,假如我讓你改個變量...你就須要跑一次jenkins,麻煩倒不麻煩,主要是花費太長的時間,因此開發階段用遠程服務熱部署會更加方便和前端的對接,這也是這篇文章着重說的一點。html
IntelliJ IDEA的JRebel插件包括JRebel代理並幫助您自動生成JRebel配置。它經過單擊爲應用程序和服務器啓用JRebel,並改進了IDE中的調試支持。前端
這篇文章用英文來寫(滑稽),但願你能看懂(滑稽)。java
ok, let`s gogit
it can support many IDE tools that below: github
An excellent plugin is offen not free, and this is no exception.But i cant to teach you to buy it, of course that is the best way to get it, i will tall you how to crack this plugin.web
you just need to fill in the infomation in these two boxes.spring
Filled in the first box is http://139.199.89.239:1008/d6bbb34d-84c4-4214-907e-26fc52f8e1b8
Filled in the second box is your email
tomcat
Node: If the first box prompt expire, you can change to a uuid after the url.springboot
OK, it is done when you click OK.bash
if you just complete the first step, you also need to set this setting. Because in the case of
working online
, Exception will be detected at any time,(Will be detected as pirated).So follow me down:
After that, you will see it becomes like this:
OK, this is a success.
The only required configuration file is rebel.xml. This is used by JRebel to map the running application to the workspace. The good news is that IDE plugin can automate this configuration for you.
The meaning of the check mark is: Enable JRebel and generator therebel.xml
This file is automatically generated, Generally not need to manually modify .
<?xml version="1.0" encoding="UTF-8"?>
<!--
This is the JRebel configuration file. It maps the running application to your IDE workspace, enabling JRebel reloading for this project.
Refer to https://manuals.zeroturnaround.com/jrebel/standalone/config.html for more information.
-->
<application generated-by="intellij" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://update.zeroturnaround.com/jrebel/rebel-2_1.xsd http://www.zeroturnaround.com http://www.zeroturnaround.com ">
<classpath>
<dir name="/home/fantj/xxx/xxxx-xxx/xxx-xxxx/target/classes">
</dir>
</classpath>
</application>
複製代碼
The JRebel plugin for IntelliJ IDEA includes dedicated launch buttons. These buttons are located on the main toolbar and on the navigation toolbar by default. You can also find these commands via the Run menu.
The first button launches the container with JRebel. The second button launches the container with JRebel in debug mode.
By launching the process from one of these buttons, the JRebel plugin will automatically add the appropriate command line parameters.
Node: You must have to use Run with JRebel
or Debug with JRebel
to start server, Because only then will it work, If you use Run main
or Debug main
, sorry, you won`t be able to experience it !
This chapter lists the steps required to set up JRebel remote server support for IntelliJ IDEA. You need a working, activated JRebel installation in your IDE. Please follow the instructions on how to install and configure JRebel for IntelliJ IDEA. If you have already set up JRebel, move on to step 1.
Running JRebel on a remote server requires the JRebel agent and a special launch parameter. Follow these steps to do this.
[root@FantJ jrebel]# curl -O http://dl.zeroturnaround.com/jrebel-stable-nosetup.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 21.2M 100 21.2M 0 0 2584k 0 0:00:08 0:00:08 --:--:-- 4778k
[root@FantJ jrebel]# unzip jrebel-stable-nosetup.zip
複製代碼
because I am using the remote service of springboot 2.x
, so I execute this statement :java "-agentpath:[JRebel root folder]/lib/libjrebel64.so" -Drebel.remoting_plugin=true -jar myapp-boot.jar
[root@FantJ test-jenkins]# java "-agentpath:/home/fantj/jrebel/jrebel/lib/libjrebel64.so" -Drebel.remoting_plugin=true -jar web.jar
2018-12-04 20:16:52 JRebel: Starting logging to file: /root/.jrebel/jrebel.log
2018-12-04 20:16:52 JRebel:
2018-12-04 20:16:52 JRebel: #############################################################
2018-12-04 20:16:52 JRebel:
2018-12-04 20:16:52 JRebel: JRebel Agent 2018.2.3 (201811261141)
2018-12-04 20:16:52 JRebel: (c) Copyright ZeroTurnaround AS, Estonia, Tartu.
2018-12-04 20:16:52 JRebel:
2018-12-04 20:16:52 JRebel: Over the last 1 days JRebel prevented
2018-12-04 20:16:52 JRebel: at least 0 redeploys/restarts saving you about 0 hours.
2018-12-04 20:16:52 JRebel:
2018-12-04 20:16:52 JRebel: JRebel started in remote server mode.
2018-12-04 20:16:52 JRebel:
2018-12-04 20:16:52 JRebel:
2018-12-04 20:16:52 JRebel: #############################################################
2018-12-04 20:16:52 JRebel:
2018-12-04 20:17:10,110 [main] INFO com.alibaba.dubbo.common.logger.LoggerFactory:59 - using logger: com.alibaba.dubbo.common.logger.log4j.Log4jLoggerAdapter
2018-12-04 20:17:10,198 [main] INFO c.a.b.d.c.event.WelcomeLogoApplicationListener:53 -
████████▄ ███ █▄ ▀█████████▄ ▀█████████▄ ▄██████▄
███ ▀███ ███ ███ ███ ███ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███
███ ███ ███ ███ ▄███▄▄▄██▀ ▄███▄▄▄██▀ ███ ███
███ ███ ███ ███ ▀▀███▀▀▀██▄ ▀▀███▀▀▀██▄ ███ ███
███ ███ ███ ███ ███ ██▄ ███ ██▄ ███ ███
███ ▄███ ███ ███ ███ ███ ███ ███ ███ ███
████████▀ ████████▀ ▄█████████▀ ▄█████████▀ ▀██████▀
:: Dubbo Spring Boot (v0.1.0) : https://github.com/dubbo/dubbo-spring-boot-project
:: Dubbo (v2.0.1) : https://github.com/alibaba/dubbo
:: Google group : http://groups.google.com/group/dubbo
......
複製代碼
if you want it run in the background.
nohup java "-agentpath:/home/fantj/jrebel/jrebel/lib/libjrebel64.so" -Drebel.remoting_plugin=true -jar web.jar > nohup.out &
複製代碼
you always can view its logs:
tail -f nohup.out
複製代碼
Node: You may also notice that is not safe, because there is not need any certification. Official provides a method: java -jar jrebel.jar -set-remote-password <NewPassword>
, You should set it up , I will not make a demo here.
Press OK to store the new remote server.
- Open View > Tool Windows > JRebel. The JRebel Modules view is opened in IntelliJ IDEA:
- Select the checkbox for your desired modules.
- Build and redeploy your application containing the rebel-remote.xml configuration file to the remote server.
- You`re done, congratulations!
若是你喜歡個人文章,那麻煩請關注個人公衆號,公衆號重點分析架構師技術,該公衆號還處於初始階段,謝謝你們的支持。
關注公衆號,回覆java架構
獲取架構視頻資源(後期還會分享不一樣的優質資源噢)。