專案部署點一下按鈕就可以,全流程自動化-三分鐘學會真簡單

2020-08-10 14:29:27

我們平時在開發一些小專案的時候,有快速部署發佈的這樣的需求,我感覺最智慧的方式可能是喊一聲「發佈」,應用程式就能自動打包發佈到伺服器上並執行起來。因爲專案的規模比較小,我們可能不會應用到DevOps團隊。我們希望有一個小工具,幫我們實現應用程式的快速上線。

Alibaba Cloud ToolKit就可以幫助我們就解決這個問題,但是我們還是得打一點小小的折扣,我們無法實現「喊一聲」,但是我們可以實現「按一下」就發佈應用程式。對於看文件感覺乏味的同學:點這裏,這裏有本文對應的操作《視訊》

第一步:安裝IDEA外掛Alibaba Cloud ToolKit

IDEA File-> Settings-> Plugins->外掛市場搜尋alibaba-> 安裝install Alibaba Cloud ToolKit。

外掛安裝完成之後,重新啓動IDEA編輯器。

第二步:新增伺服器

外掛安裝完成之後,在IDEA中找到「Alibaba Cloud View」 裏面的Host的Tab框。

點選「Add Host」按鈕之後彈出如下對話方塊,新增遠端伺服器主機IP及使用者名稱密碼。

新增完成之後多出一條Host記錄

第三步:爲伺服器新增命令列

將一些在該伺服器上經常使用的命令列,固化爲command設定

點選command,執行新增命令列操作

對於應用部署,需要使用到如下兩個命令列

# 刪除歷史啓動的 server-jwt進程
ps -aux|grep -v grep |grep server-jwt| awk '{print $2}'|xargs kill -9;
# 用java 方式啓動server-jwt-1.0.jar
nohup java -jar /root/server-jwt-1.0.jar &;

將上面的命令列中的「server-jwt」替換爲你自己的應用的jar名稱或唯一關鍵字即可。如果對於這兩個命令完全無法理解,需要去學習shell指令碼、nohup、awk指令碼和java -jar啓動方式等基礎知識。

第四步:應用部署設定

需要部署的專案右鍵->Alibaba Cloud -> Deploy To Host,彈出如下對話方塊:

上圖對話方塊紅色區域中,從上到下、從左到右依次是:

  • 本次部署設定的名稱:Name,設定固化下來之後可以複用
  • 在專案上傳到伺服器之前maven打包:Maven Build。也可以選擇使用Gradle打包:Gradle Build或者手動打包之後上傳檔案:Upload File。
  • 選擇遠端部署的伺服器的Ip,本文中第二步的設定結果
  • Target Directory:maven打包之後的檔案上傳目錄(即應用部署目錄):根據自己的主機路徑規劃填寫。
  • After Deploy:當檔案上傳主機之後執行的shell指令碼或命令列,我們這裏選擇執行nohup java -jar /root/server-jwt-1.0.jar &;啓動應用。
  • Run Maven Goal :maven 的打包目標,先對父專案打包,再對子模組打包。如果不存在,就點選「+」新建,打包命令是「clean install」


除了應用打包、上傳、啓動之外,我們通常需要一些額外的動作。

  • 比如:之前已將發過一版,再次部署發版應該先把舊版本進程停掉。選擇ps -aux|grep -v grep |grep server-jwt| awk '{print $2}'|xargs kill -9;命令列,第三步設定好的。
  • 比如:應用部署完成之後,應該立刻檢視應用啓動的日誌,觀察是否正常。

經過以上的設定之後,就可以實現應用程式「一鍵」打包、上傳、啓動、檢視日誌的效果。