阿里出品!SpringBoot應(yīng)用自動(dòng)化部署神器,IDEA版Jenkins?
Hollis的新書限時(shí)折扣中,一本深入講解Java基礎(chǔ)的干貨筆記!
最近發(fā)現(xiàn)一款阿里出品的IDEA插件
CloudToolkit,不僅支持直接打包應(yīng)用部署到遠(yuǎn)程服務(wù)器上,而且還能當(dāng)終端工具使用。試用了一把這個(gè)插件,非常不錯(cuò),推薦給大家!裝上這個(gè)插件,IDEA一站式開發(fā)又近了一步!
CloudToolkit簡介
CloudToolkit是阿里出品的一款I(lǐng)DEA插件,通過它我們可以更方便地實(shí)現(xiàn)自動(dòng)化部署,其內(nèi)置的終端工具和文件上傳功能,即使用來管理服務(wù)器也非常方便!這款I(lǐng)DEA插件不僅功能強(qiáng)大,而且完全免費(fèi)!
安裝
CloudToolkit的安裝是非常簡單的,直接在IDEA的插件市場中搜索Cloud Toolkit然后進(jìn)行安裝即可。

使用
接下來我們就體驗(yàn)下CloudToolkit的自動(dòng)化部署功能,以SpringBoot應(yīng)用打包部署到Docker環(huán)境為例,看看它是不是夠好用。
自動(dòng)化部署
插件安裝完成后,打開左側(cè)面板,右鍵 Host圖標(biāo)我們就可以添加服務(wù)器的連接信息了,實(shí)現(xiàn)自動(dòng)化部署之前需要先配置好連接信息;

一般情況下我們?nèi)绻氩渴鸨镜豐pringBoot應(yīng)用到Docker環(huán)境需要經(jīng)過如下步驟,使用CloudToolkit我們只要配置好流程即可,這些操作它都會(huì)幫我們自動(dòng)完成;

首先準(zhǔn)備好打包應(yīng)用鏡像需要的Dockerfile文件;
# 該鏡像需要依賴的基礎(chǔ)鏡像
FROM java:8
# 將當(dāng)前目錄下的jar包復(fù)制到docker容器的/目錄下
ADD mall-tiny-deploy-1.0-SNAPSHOT.jar /mall-tiny-deploy-1.0-SNAPSHOT.jar
# 聲明服務(wù)運(yùn)行在8088端口
EXPOSE 8088
# 指定docker容器啟動(dòng)時(shí)運(yùn)行jar包
ENTRYPOINT ["java", "-jar","/mall-tiny-deploy-1.0-SNAPSHOT.jar"]
# 指定維護(hù)者的名字
MAINTAINER macrozheng
再準(zhǔn)備好可以自動(dòng)打包應(yīng)用鏡像、創(chuàng)建并運(yùn)行容器的腳本 run.sh,這兩個(gè)腳本的具體使用可以參考使用Jenkins進(jìn)行自動(dòng)化部署的技巧 ;
#!/usr/bin/env bash
# 定義應(yīng)用組名
group_name='mall-tiny'
# 定義應(yīng)用名稱
app_name='mall-tiny-deploy'
# 定義應(yīng)用版本
app_version='1.0-SNAPSHOT'
# 定義應(yīng)用環(huán)境
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----'
將這兩個(gè)文件上傳到Linux服務(wù)器上,給 run.sh添加可執(zhí)行權(quán)限;

右鍵需要部署的項(xiàng)目,點(diǎn)擊 Deploy to Host;

然后選擇把Maven打包的Jar包上傳到指定目錄,上傳完成后執(zhí)行 run.sh腳本;

接下來編輯下Maven構(gòu)建的目標(biāo),只打包 mall-tiny-deploy模塊即可;

然后修改高級設(shè)置,配置下查看容器日志的命令;

最后運(yùn)行該配置,運(yùn)行完成后即可直接查看應(yīng)用運(yùn)行日志了;

打開應(yīng)用的Swagger頁面查看下,發(fā)現(xiàn)已經(jīng)可以正常訪問了,訪問地址:http://192.168.3.105:8088/swagger-ui/

常用功能
當(dāng)然CloudToolkit的功能遠(yuǎn)不止于此,它內(nèi)置了終端工具,在IDEA中管理Linux服務(wù)器,用它就夠了,直接通過底部面板,點(diǎn)擊 終端按鈕即可打開;

體驗(yàn)了一把這個(gè)終端工具,提示還挺全的,這下還要啥Xshell?

通過上傳功能可以上傳文件,WinSCP也用不著了!

總結(jié)
體驗(yàn)了一把阿里出品的CloudToolkit,做好配置以后,基本可以實(shí)現(xiàn)一鍵部署應(yīng)用到遠(yuǎn)程服務(wù)器,說它是IDEA版的Jenkins也不為過!其內(nèi)置的終端工具也是非常好用的,強(qiáng)烈推薦大家嘗試一波!
項(xiàng)目源碼地址
https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-deploy
完
我的新書《深入理解Java核心技術(shù)》已經(jīng)上市了,上市后一直蟬聯(lián)京東暢銷榜中,目前正在6折優(yōu)惠中,想要入手的朋友千萬不要錯(cuò)過哦~長按二維碼即可購買~
長按掃碼享受6折優(yōu)惠
往期推薦

以后發(fā)現(xiàn)漏洞,禁止告訴中國!

歡迎大家關(guān)注我的抖音~

重磅!騰訊正式開源 Spring Cloud Tencent
