阿里SpringBoot應(yīng)用自動化部署實(shí)現(xiàn)IDEA版Jenkins

之前分享過一些使用Jenkins進(jìn)行自動化部署的技巧 ,最近發(fā)現(xiàn)一款阿里出品的IDEA插件CloudToolkit,不僅支持直接打包應(yīng)用部署到遠(yuǎn)程服務(wù)器上,而且還能當(dāng)終端工具使用。試用了一把這個插件,非常不錯,推薦給大家!裝上這個插件,IDEA一站式開發(fā)又近了一步!
SpringBoot實(shí)戰(zhàn)電商項(xiàng)目mall(50k+star)地址:github.com/macrozheng/…
CloudToolkit簡介
CloudToolkit是阿里出品的一款I(lǐng)DEA插件,通過它我們可以更方便地實(shí)現(xiàn)自動化部署,其內(nèi)置的終端工具和文件上傳功能,即使用來管理服務(wù)器也非常方便!這款I(lǐng)DEA插件不僅功能強(qiáng)大,而且完全免費(fèi)!
安裝
CloudToolkit的安裝是非常簡單的,直接在IDEA的插件市場中搜索Cloud Toolkit然后進(jìn)行安裝即可。

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

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

- 首先準(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容器啟動時運(yùn)行jar包 ENTRYPOINT ["java", "-jar","/mall-tiny-deploy-1.0-SNAPSHOT.jar"] # 指定維護(hù)者的名字 MAINTAINER macrozheng
- 再準(zhǔn)備好可以自動打包應(yīng)用鏡像、創(chuàng)建并運(yùn)行容器的腳本
run.sh,這兩個腳本的具體使用可以參考使用Jenkins進(jìn)行自動化部署的技巧 ;
#!/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----'
- 將這兩個文件上傳到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)了一把這個終端工具,提示還挺全的,這下還要啥Xshell?

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

總結(jié)
體驗(yàn)了一把阿里出品的CloudToolkit,做好配置以后,基本可以實(shí)現(xiàn)一鍵部署應(yīng)用到遠(yuǎn)程服務(wù)器,說它是IDEA版的Jenkins也不為過!其內(nèi)置的終端工具也是非常好用的,強(qiáng)烈推薦大家嘗試一波!
項(xiàng)目源碼地址 github.com/macrozheng/…
以上就是阿里SpringBoot應(yīng)用自動化部署實(shí)現(xiàn)IDEA版Jenkins的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot自動化部署的資料請關(guān)注腳本之家其它相關(guān)文章!
- spring boot 項(xiàng)目利用Jenkins實(shí)現(xiàn)自動化部署的教程詳解
- 詳解jenkins自動部署springboot應(yīng)用的方法
- Jenkins自動化部署springboot代碼實(shí)例
- springboot docker jenkins 自動化部署并上傳鏡像的步驟詳解
- Jenkins自動部署SpringBoot項(xiàng)目實(shí)踐教程
- Jenkins+Docker+Gitee+SpringBoot自動化部署
- Jenkins+Docker?一鍵自動化部署?SpringBoot?項(xiàng)目的詳細(xì)步驟
- Jenkins自動化部署SpringBoot項(xiàng)目的實(shí)現(xiàn)
- Jenkins中自動化部署Spring?Boot項(xiàng)目的全過程
相關(guān)文章
Java業(yè)務(wù)校驗(yàn)工具實(shí)現(xiàn)方法
這篇文章主要介紹了Java業(yè)務(wù)校驗(yàn)工具實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
SpringBoot使用Swagger生成多模塊的API文檔
這篇文章將以?Spring?Boot?多模塊項(xiàng)目為例,為大家詳細(xì)介紹一下如何使用?Swagger?生成多模塊的?API?文檔,感興趣的小伙伴可以了解一下2025-02-02
Spring的Bean生命周期之BeanDefinition詳解
這篇文章主要介紹了Spring的Bean生命周期之BeanDefinition詳解,在spring bean創(chuàng)建過程 依賴 BeanDefinition 中的信息處理bean的生產(chǎn),BeanDefinition 是 Spring Framework 中定義 Bean 的配置元信息接口,需要的朋友可以參考下2023-12-12
mybatis?報(bào)錯顯示sql中有兩個limit的解決
這篇文章主要介紹了mybatis?報(bào)錯顯示sql中有兩個limit的解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10
Java 中的vector和list的區(qū)別和使用實(shí)例詳解
在大家還沒有了解vector,list,deque的知識之前,我先給大家介紹下stl,本文重點(diǎn)給大家介紹vector和list的區(qū)別及使用,感興趣的的朋友一起看看吧2017-09-09
SpringCloud使用Ribbon實(shí)現(xiàn)負(fù)載均衡的流程步驟
在微服務(wù)架構(gòu)中,負(fù)載均衡是一項(xiàng)關(guān)鍵的技術(shù),它可以確保各個服務(wù)節(jié)點(diǎn)間的負(fù)載分布均勻,提高整個系統(tǒng)的穩(wěn)定性和性能,Spring Cloud 中的 Ribbon 就是一種負(fù)載均衡的解決方案,本文將深入探討 Ribbon 的原理和在微服務(wù)中的應(yīng)用,需要的朋友可以參考下2024-02-02
一小時迅速入門Mybatis之實(shí)體類別名與多參數(shù) 動態(tài)SQL
這篇文章主要介紹了一小時迅速入門Mybatis之實(shí)體類別名與多參數(shù) 動態(tài)SQL,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09

