阿里出品,SpringBoot自动化部署神器!
Java中文社群
共 2475字,需浏览 5分钟
· 2022-07-06
最近发现一款阿里出品的IDEA插件
CloudToolkit
,不仅支持直接打包应用部署到远程服务器上,而且还能当终端工具使用。试用了一把这个插件,非常不错,推荐给大家!装上这个插件,IDEA一站式开发又近了一步!
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/swagger-ui/
常用功能
当然CloudToolkit的功能远不止于此,它内置了终端工具,在IDEA中管理Linux服务器,用它就够了,直接通过底部面板,点击 终端
按钮即可打开;
体验了一把这个终端工具,提示还挺全的,这下还要啥Xshell?
通过上传功能可以上传文件,WinSCP也用不着了!
总结
体验了一把阿里出品的CloudToolkit,做好配置以后,基本可以实现一键部署应用到远程服务器,说它是IDEA版的Jenkins也不为过!其内置的终端工具也是非常好用的,强烈推荐大家尝试一波!
往期推荐
Java 中 for 和 foreach 哪个性能高?
面试突击60:什么情况会导致 MySQL 索引失效?
如何优雅的写 Controller 层代码?
评论
奇域AI,最懂新中式美学的AI绘画神器
「奇域AI」是一款非常适合驾驭新中式审美的AI绘画工具。作为国内首个主打新中式插画的AI绘画产品,它提供了上百种新中式美学风格模型,包括新中式插画、笔墨水彩、新铅油画等,为用户提供了丰富的选择。这款工具在「网页版」和「小程序」上都可以使用,只需输入你想要的画面,就能生成出符合新中式审美的作品。奇域A
IQ前端
0
五一Python抢票神器来了
还在为五一回家抢不到火车票发愁吗?今天介绍一个Python抢票神器,希望对你有帮助。Py12306是一个流行的开源项目,旨在帮助用户更便捷地查询和预订中国铁路12306网站上的火车票。以下是使用Py12306的基本步骤和一些注意事项:安装与环境准备安装Python: 确保你的系统中安装了Python
Python小二
1
985 本硕,秋招上岸阿里算法岗!
↓推荐关注↓节前,我们星球举办了技术&面试交流会,邀请了一些互联网大厂好友以及今年参加社招和校招面试的同学。会上探讨了一系列热门话题,包括大模型发展趋势、算法落地实践、面经总结,以及如何做好面试准备和应对常见考点。基于经验交流与实战经验,我们总结如下:《机器学习算法面试宝典》1.0 发布!今
Python学习与数据挖掘
0
人人都能在本地电脑上部署LLama3大模型
电脑配置要求:推荐16GB内存以上,最低8GB。最近几年主流CPU均可。英伟达显卡性能表现会更好,但不是必须。部署流程:1、下载安装Ollama大模型运行框架2、下载运行LLama3大模型3、下载安装服务器容器Docker Desktop4、下载运行OpenWebUI应用服务搞定!视频演示
Python涨薪研究所
0
阿里电话面不怕候选人作弊吗?
最近在网上看到网友发帖问"阿里电话面不怕候选人作弊吗?"。引发网友的热议让我们来看看一些网友的观点有网友说:问这个问题的,就是没有参加过深度面试的也有网友说:会追着你问流程细节还有阿里网友说:考的就是功底和快速反应我们再看看其他网友怎么说?阿里巴巴在电话面试中,会进行背景调查以防止候选人作弊。如果背
java1234
4
大视频周报|全国酒店电视操作复杂专项治理动员部署电视电话会在京召开
小美播报本 期 看 点广电总局发4K超高清机顶盒技术新标准;总局公示《智能电视操作系统 第8部分:分类分级》等两项行业标准;工信部组织开展今年5G轻量化(RedCap)贯通行动;全国酒店电视操作复杂专项治理动员部署电视电话会在京召开......(今日流媒体vip可免费获取报告PDF版,详情请见文末。
流媒体网
0
推理部署工程师面试题库
作者丨进击的Killua来源丨https://zhuanlan.zhihu.com/p/673046520编辑丨GiantPandaCV最近团队在招人,记录一些常用的面试问题,持续更新中。1. 描述一下SM的结构?(INT32/FP32/FP64)CUDA core,Tensor Core,LD/S
GiantPandaCV
32
手动部署jar包,太low!动态上传热部署真爽!
本文来源:https://blog.csdn.net/zhangzhiqiang_0912近期开发系统过程中遇到的一个需求,系统给定一个接口,用户可以自定义开发该接口的实现,并将实现打成jar包,上传到系统中。系统完成热部署,并切换该接口的实现。定义简单的接口这里以一个简单的计算器功能为例,接口定义
Java高效学习
10