1. 程式人生 > >Java 專案熱部署,節省構建時間的正確姿勢

Java 專案熱部署,節省構建時間的正確姿勢

上週末,幫楊小邪(我的大學室友)遠端除錯專案。SpringBoot 構建,沒有熱部署,改一下就得重啟相關模組。小小的 bug ,搞了我一個多小時,大部分時間都還在構建上(特麼,下次得收錢才行)。我跟他說有個熱部署外掛叫 Jrebel,可以熱部署,每次修改完程式碼需要測試的時候,只要 Build 一下就行?所有 Java 專案都能使用,他居然不知道。作為一個英俊男孩,我不得不寫下這篇文章教他使用熱部署。

Jrebel 是什麼?

JRebel 是一款 JAVA 虛擬機器外掛,它使得 JAVA 程式設計師能在不進行重部署的情況下,即時看到程式碼的改變對一個應用程式帶來的影響。JRebel 使你能即時分別看到程式碼、類和資源的變化,你可以一個個地上傳而不是一次性全部部署。當程式設計師在開發環境中對任何一個類或者資源作出修改的時候,這個變化會直接反應在部署好的應用程式上,從而跳過了構建和部署的過程。

簡而言之,不管你修改了類還是資源,只需要重新 Build 一下相關的類,改動就直接反映到你的應用程式了。

Jrebel 安裝

開啟你的 IntelliJ IDEA 外掛市場,搜尋 Jrebel ,第一個就是。點選 install 安裝,完了之後重啟 IDEA。

Jrebel 外掛

Jrebel 啟用

重啟完之後會彈出如下框提示啟用,選中 Team Url ,其中郵箱隨便填就行,認證服務地址的格式是 https://jrebel.qekang.com/{GUID} 它需要一個 guid 引數,這個引數需要從 guid 伺服器生成。它的地址是 https://www.guidgen.com/,直接開啟生成一個 guid ( 不要用下圖這個,可能失效),如下圖:

生成的 guid

複製 guid 填充到認證服務地址後面。比如:https://jrebel.qekang.com/7bea5149-69a5-4270-8190-3f049dc8d2d6,填到下圖的認證服務位址列。

Jrebel 啟用

點選 change license ,啟用成功。

Jrebel 啟用成功

Jrebel 使用

點選 IDEA 左側邊欄邊的 Jrebel 選項,配置需要熱部署的模組,如下圖,直接打上勾就可以。

選擇模組

一切準備就緒之後,你會發現工具欄多瞭如下圖的這兩個圖示:一個是 Jrebel run 模式啟動專案,一個是 Jrebel debug 模式啟動(一些需要測試的模組,一般使用這個模式),現以 debug 模式啟動 xxxx_collect 模組。

Jrebel 啟動

啟動成功。假如,我現在對應用程式的效果不滿意,又修改了剛剛勾選的 xxxx_collect 模組下的名為 xxxxFeignClientApi 的 java 類,如下圖所示:

修改的 java 類

這是不需要重新啟動,只需要重新 build 一下相關類即可,如果改動多的話,直接 build 模組就行。

重新 Build

以上就是 Jrebel 的使用教程,賊方便。Jrebel 每年可以省去部署用的時間花費高達 5.25 個星期(Jrebel 官方說的)。

最後

推薦下阿里雲的伺服器,新使用者購買伺服器 89 元 / 年、229 元 / 3 年。買個用來搭建專案(比如個人部落格)準備面試、熟悉技術棧、學習 Linux 都可以。不是新使用者也沒關係,借用家人朋友身份證重新註冊新使用者(我用了我妹妹的