阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

macrozheng 發表於 2022-06-28
Jenkins Spring
之前分享過一些使用Jenkins進行自動化部署的技巧 ,最近發現一款阿里出品的IDEA外掛CloudToolkit,不僅支援直接打包應用部署到遠端伺服器上,而且還能當終端工具使用。試用了一把這個外掛,非常不錯,推薦給大家!裝上這個外掛,IDEA一站式開發又近了一步!

SpringBoot實戰電商專案mall(50k+star)地址:https://github.com/macrozheng/mall

CloudToolkit簡介

CloudToolkit是阿里出品的一款IDEA外掛,通過它我們可以更方便地實現自動化部署,其內建的終端工具和檔案上傳功能,即使用來管理伺服器也非常方便!這款IDEA外掛不僅功能強大,而且完全免費!

安裝

CloudToolkit的安裝是非常簡單的,直接在IDEA的外掛市場中搜尋Cloud Toolkit然後進行安裝即可。

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

使用

接下來我們就體驗下CloudToolkit的自動化部署功能,以SpringBoot應用打包部署到Docker環境為例,看看它是不是夠好用。

自動化部署

  • 外掛安裝完成後,開啟左側皮膚,右鍵Host圖示我們就可以新增伺服器的連線資訊了,實現自動化部署之前需要先配置好連線資訊;

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

  • 一般情況下我們如果想部署本地SpringBoot應用到Docker環境需要經過如下步驟,使用CloudToolkit我們只要配置好流程即可,這些操作它都會幫我們自動完成;

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

  • 首先準備好打包應用映象需要的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
#!/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新增可執行許可權;

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

  • 右鍵需要部署的專案,點選Deploy to Host

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

  • 然後選擇把Maven打包的Jar包上傳到指定目錄,上傳完成後執行run.sh指令碼;

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

  • 接下來編輯下Maven構建的目標,只打包mall-tiny-deploy模組即可;

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

  • 然後修改高階設定,配置下檢視容器日誌的命令;

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

  • 最後執行該配置,執行完成後即可直接檢視應用執行日誌了;

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

常用功能

  • 當然CloudToolkit的功能遠不止於此,它內建了終端工具,在IDEA中管理Linux伺服器,用它就夠了,直接通過底部皮膚,點選終端按鈕即可開啟;

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

  • 體驗了一把這個終端工具,提示還挺全的,這下還要啥Xshell?

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

  • 通過上傳功能可以上傳檔案,WinSCP也用不著了!

阿里出品!SpringBoot應用自動化部署神器,IDEA版Jenkins?

總結

體驗了一把阿里出品的CloudToolkit,做好配置以後,基本可以實現一鍵部署應用到遠端伺服器,說它是IDEA版的Jenkins也不為過!其內建的終端工具也是非常好用的,強烈推薦大家嘗試一波!

專案原始碼地址

https://github.com/macrozheng...