阿里SpringBoot應(yīng)用自動化部署實(shí)現(xiàn)IDEA版Jenkins
之前分享過一些使用Jenkins進(jìn)行自動化部署的技巧 ,最近發(fā)現(xiàn)一款阿里出品的IDEA插件CloudToolkit
,不僅支持直接打包應(yīng)用部署到遠(yuǎn)程服務(wù)器上,而且還能當(dāng)終端工具使用。試用了一把這個(gè)插件,非常不錯(cuò),推薦給大家!裝上這個(gè)插件,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容器啟動時(shí)運(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
,這兩個(gè)腳本的具體使用可以參考使用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----'
- 將這兩個(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)目源碼地址 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)文章
idea打開項(xiàng)目沒有項(xiàng)目目錄問題及解決
這篇文章主要介紹了idea打開項(xiàng)目沒有項(xiàng)目目錄問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06MyBatis中的@SelectProvider注解源碼分析
這篇文章主要介紹了MyBatis中的@SelectProvider注解源碼分析,@SelectProvider功能就是用來單獨(dú)寫一個(gè)class類與方法,用來提供一些xml或者注解中不好寫的sql,今天就來說下這個(gè)注解的具體用法與源碼,需要的朋友可以參考下2024-01-01Java 基于TCP Socket 實(shí)現(xiàn)文件上傳
這篇文章主要介紹了Java 基于TCP Socket 實(shí)現(xiàn)文件上傳的示例代碼,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-12-12springboot整合shiro登錄失敗次數(shù)限制功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了springboot整合shiro-登錄失敗次數(shù)限制功能,實(shí)現(xiàn)此功能如果是防止壞人多次嘗試,破解密碼的情況,所以要限制用戶登錄嘗試次數(shù),需要的朋友可以參考下2018-09-09RabbitMq報(bào)錯(cuò)reply-code=406 reply-text=PRECONDITION_FAILED
這篇文章主要為大家介紹了RabbitMq報(bào)錯(cuò)reply-code=406 reply-text=PRECONDITION_FAILED分析解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12java 數(shù)據(jù)結(jié)構(gòu)之刪除鏈表中的元素實(shí)例代碼
這篇文章主要介紹了java 數(shù)據(jù)結(jié)構(gòu)之刪除鏈表中的元素實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-01-01