由於我們經常發布項目到測試服,在測試服上調試一些本地無法調試的東西,所以出現了各種打包,然后上傳、啟動,時間都耗費在這無聊的事情上面了,偶然在網上看到IntelliJ IDEA有 Cloud Toolkit 這個插件,安裝了一下,打包、上傳、啟動一條龍搞定,下面介紹一下使用Cloud Toolkit部署SpringBoot項目到服務器。
准備工作
在 IntelliJ IDEA 中安裝和配置 Cloud Toolkit 前,需要完成以下准備工作:
- 下載並安裝 JDK 1.8 或更高版本。
- 下載並安裝 IntelliJ IDEA ( 2018.1 或更高版本)。
安裝 Cloud Toolkit
在 IntelliJ IDEA 中,您可以在 JetBrains 插件市場搜索 Alibaba Cloud Toolkit 並安裝。因 JetBrains 插件市場官方服務器在海外,可能會出現訪問緩慢導致無法下載等情況,此時可使用離線包安裝。
注意:本步驟以 Windows 系統下 IntelliJ IDEA 中安裝 Cloud Toolkit 為例。
有兩種方式安裝:一是在 JetBrains 插件市場安裝,二是使用離線包安裝
-
啟動 IntelliJ IDEA。
-
在頂部菜單欄中選擇 File > Settings。
-
在 Settings 對話框中完成以下步驟。
-
-
在左側導航欄中單擊 Plugins。
-
在 Plugins 區域的搜索欄中輸入 Alibaba Cloud Toolkit。
-
單擊 Search in repositories。

-
-
在彈出的 Browse Repositories 對話框中 Alibaba Cloud Toolkit 區域單擊 Install。

-
按照 IntelliJ IDEA 安裝頁面的提示,完成后續安裝步驟。
結果驗證
IntelliJ IDEA 重啟后,在菜單欄中選擇 File > Settings,在 Settings 對話框左側的導航欄中可以看到 Alibaba Cloud Toolkit,則說明安裝成功。

Cloud Toolkit 的核心功能

- Deploy to Host:部署到任意服務器。這一個功能決定了 Cloud Toolkit 強大的之處就是可以使得每個開發者受益,它其實並不是和阿里雲廠商強綁定的。我會在下文重點測評下這個功能。
- Deploy to ECS:這里的 ECS 指的阿里雲的 ECS,如果你的服務部署在阿里雲 ECS 上,可以選擇使用這個功能,獲得比 Deploy to Host 更加豐富的功能。
- Deploy to EDAS & EDAS Serverless:EDAS & EDAS Serverless 是阿里雲提供的分布式服務治理服務,可以理解為商業版的 Dubbo,具有強大的服務治理、服務調度能力,Cloud Toolkit 對 EDAS 做了個性化的部署支持,讓使用者無需登錄控制台,在 IDEA 中即可完成 EDAS 的部署。
- Deploy to CS K8s:在雲原生時代,很多應用使用容器化的方式進行部署,Cloud Toolkit 這一點做的還是不錯的,已經具備了容器化部署的能力,具有一定的前瞻性。
這里只介紹下 Deploy to Host(部署到任意服務器),這里先部署到虛擬機上哈。
使用 Cloud Toolkit 把應用部署到任意服務器
IDEA菜單欄中的Tools --> Alibaba Cloud --> Alibaba Cloud View --> Host

點擊上面截圖中的Add Host

成功連接之后,右鍵 項目 --> Alibaba Cloud --> Deploy to Host


查看服務器上的文件:

項目代碼:

啟動腳本(來源地址:https://www.cnblogs.com/wangfajun/p/9585530.html)
#!/bin/bash
export JAVA_HOME=/root/tools/jdk1.8.0_181
export JRE_HOME=/$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
#這里可替換為你自己的執行程序,其他代碼無需更改
APP_NAME=/usr/local/test/demo111-0.0.1-SNAPSHOT.jar
#使用說明,用來提示輸入參數
usage() {
echo "Usage: sh robotcenter.sh [start|stop|restart|status]"
exit 1
}
#檢查程序是否在運行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#啟動方法
start(){
is_exist
if [ $? -eq 0 ]; then
echo "${APP_NAME} is already running. pid=${pid}"
else
nohup java -jar ${APP_NAME} >robotcenter.out 2>&1 &
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#輸出運行狀態
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
#重啟
restart(){
stop
sleep 5
start
}
#根據輸入參數,選擇執行對應方法,不輸入則執行使用說明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
訪問瀏覽器:

大功告成!!
更多教程可以去官網查看哦。
詳細教程:
