阿里出品,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 层代码?
评论
我看阿里的年终奖总算发了!
到4月底了,这两天看朋友圈,发现阿里的年终奖终于发了,问了问老同学,也从网上检索了不少信息,基本搞清楚了阿里今年的年终奖情况。近来来阿里一些集团对绩效等级做了较大的调整,以前的旧绩效系统中,绩效分为3.25、3.5、3.75、4和5五个等级,其中4和5是较高绩效等级,较少见。而且之前3.5绩效内部划
公子龙
0
阿里的同事,写的代码真 TMD 优雅!
通过这篇文章你将了解到整洁的代码对项目、公司和你的重要性,以及如何书写整洁的代码.通过命名、类、函数、测试这四个章节,使我们的代码变得整洁.1、为什么要保持代码整洁?不整洁的代码随着时间的增加而增加时,生产力会随之降低.导致的结果就是:代码不易扩展或扩展容易引发其他问题程序崩溃加班增加公司成本(加人
Java专栏
1
阿里公布年终奖,P7, 3.5+,22W年终奖,还有35W长期现金激励,真香
上一篇:网友发问:事业编一年6万,干35年退休挣200万,程序员一年60万,5年就挣300万,事业编再爽能有程序员干五年退休爽?阿里这几天开始员工绩效和年终奖沟通了,又是几家欢喜几家愁的时候。自2024年4月1日起,公司对其股权激励计划进行了更新。除了继续提供一次性的年终奖和股权激励之外,阿里巴巴还
开发者全社区
0
多人同时导出 Excel 干崩服务器!新来的阿里大佬给出的解决方案太优雅了!
点击关注公众号,Java 干货及时推送↓推荐阅读:面试辅导,我们出大成果了!来源:juejin.cn/post/7259249904777838629前言 业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,
Java技术栈
1
自动化测试做得好的标准是什么
自动化测试要做得好的标准,主要包括以下几个方面:一、高覆盖率与精准定位1、测试用例覆盖全面:自动化测试应覆盖产品的核心功能、关键业务流程以及常见的异常场景,确保测试范围广泛,降低遗漏风险。2、问题定位准确:自动化测试应能够精准地识别并定位问题,包括缺陷的位置、产生的原因以及可能的影响,为开发团队提供
测试开发社区
0
SpringBoot 实现图片防盗链功能
程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 4 分钟。来自:blog.csdn.net/weixin_46157208/article/details/138051737前言出于安全考虑,我们需要后端返回的图片只允许在某个网站内展示,不想被爬虫拿到图片地
程序员的成长之路
0
阿里P9被裁,赔偿82w
上一篇:人到中年, 发现同学间差距了,学医的高薪且稳定,进国企的工资不高但稳定,考公的工资不高,却生活滋润一女生发帖称:阿里老公被裁了。阿里巴巴公司的裁员消息如同晴天霹雳,打破了我们原本宁静的生活。那天,微信上突然弹出的消息,让我们感到震惊,仿佛一道闪电划破了平静的天空。“震惊”这个词,远远不足以描
开发者全社区
0
springboot第70集:字节跳动后端三面经,一文让你走出微服务迷雾架构周刊
创建一个使用Kubernetes (K8s) 和 Jenkins 来自动化 GitLab 前端项目打包的CI/CD流水线,需要配置多个组件。下面,我将概述一个基本的设置步骤和示例脚本,以帮助你理解如何使用这些工具整合一个自动化流程。前提条件确保你已经有:Kubernetes 集群:用于部署 Jenk
程序源代码
0