之前分享過一些使用Jenkins進行自動化部署的技巧 ,最近發現一款阿里出品的IDEA外掛CloudToolkit
,不僅支援直接打包應用部署到遠端伺服器上,而且還能當終端工具使用。試用了一把這個外掛,非常不錯,推薦給大家!裝上這個外掛,IDEA一站式開發又近了一步!
SpringBoot實戰電商專案mall(50k+star)地址:https://github.com/macrozheng/mall
CloudToolkit簡介
CloudToolkit
是阿里出品的一款IDEA外掛,通過它我們可以更方便地實現自動化部署,其內建的終端工具和檔案上傳功能,即使用來管理伺服器也非常方便!這款IDEA外掛不僅功能強大,而且完全免費!
安裝
CloudToolkit的安裝是非常簡單的,直接在IDEA的外掛市場中搜尋Cloud Toolkit
然後進行安裝即可。
使用
接下來我們就體驗下CloudToolkit的自動化部署功能,以SpringBoot應用打包部署到Docker環境為例,看看它是不是夠好用。
自動化部署
- 外掛安裝完成後,開啟左側皮膚,右鍵
Host
圖示我們就可以新增伺服器的連線資訊了,實現自動化部署之前需要先配置好連線資訊;
- 一般情況下我們如果想部署本地SpringBoot應用到Docker環境需要經過如下步驟,使用CloudToolkit我們只要配置好流程即可,這些操作它都會幫我們自動完成;
- 首先準備好打包應用映象需要的Dockerfile檔案;
# 該映象需要依賴的基礎映象
FROM java:8
# 將當前目錄下的jar包複製到docker容器的/目錄下
ADD mall-tiny-deploy-1.0-SNAPSHOT.jar /mall-tiny-deploy-1.0-SNAPSHOT.jar
# 宣告服務執行在8088埠
EXPOSE 8088
# 指定docker容器啟動時執行jar包
ENTRYPOINT ["java", "-jar","/mall-tiny-deploy-1.0-SNAPSHOT.jar"]
# 指定維護者的名字
MAINTAINER macrozheng
- 再準備好可以自動打包應用映象、建立並執行容器的指令碼
run.sh
,這兩個指令碼的具體使用可以參考使用Jenkins進行自動化部署的技巧 ;
#!/usr/bin/env bash
# 定義應用組名
group_name='mall-tiny'
# 定義應用名稱
app_name='mall-tiny-deploy'
# 定義應用版本
app_version='1.0-SNAPSHOT'
# 定義應用環境
profile_active='prod'
echo '----copy jar----'
docker stop ${app_name}
echo '----stop container----'
docker rm ${app_name}
echo '----rm container----'
docker rmi ${group_name}/${app_name}:${app_version}
echo '----rm image----'
# 打包編譯docker映象
docker build -t ${group_name}/${app_name}:${app_version} .
echo '----build image----'
docker run -p 8088:8088 --name ${app_name} \
--link mysql:db \
-e 'spring.profiles.active'=${profile_active} \
-e TZ="Asia/Shanghai" \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/${app_name}/logs:/var/logs \
-d ${group_name}/${app_name}:${app_version}
echo '----start container----'
- 將這兩個檔案上傳到Linux伺服器上,給
run.sh
新增可執行許可權;
- 右鍵需要部署的專案,點選
Deploy to Host
;
- 然後選擇把Maven打包的Jar包上傳到指定目錄,上傳完成後執行
run.sh
指令碼;
- 接下來編輯下Maven構建的目標,只打包
mall-tiny-deploy
模組即可;
- 然後修改高階設定,配置下檢視容器日誌的命令;
- 最後執行該配置,執行完成後即可直接檢視應用執行日誌了;
- 開啟應用的Swagger頁面檢視下,發現已經可以正常訪問了,訪問地址:http://192.168.3.105:8088/swa...
常用功能
- 當然CloudToolkit的功能遠不止於此,它內建了終端工具,在IDEA中管理Linux伺服器,用它就夠了,直接通過底部皮膚,點選
終端
按鈕即可開啟;
- 體驗了一把這個終端工具,提示還挺全的,這下還要啥Xshell?
- 通過上傳功能可以上傳檔案,WinSCP也用不著了!
總結
體驗了一把阿里出品的CloudToolkit,做好配置以後,基本可以實現一鍵部署應用到遠端伺服器,說它是IDEA版的Jenkins也不為過!其內建的終端工具也是非常好用的,強烈推薦大家嘗試一波!