找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3343

积分

0

好友

457

主题
发表于 2026-2-12 08:11:20 | 查看: 30| 回复: 0

mall学习教程电商系统首页截图

之前我们常常借助 Jenkins 这类独立的 CI/CD 工具来完成项目的自动化部署,流程往往需要在多个界面间切换。最近在探索阿里云的一款官方 IDE 插件——Cloud Toolkit,发现它能直接在 IntelliJ IDEA 中完成从代码打包到服务器部署的全过程,其内置的终端和文件上传功能也极大地简化了服务器管理操作。体验下来,感觉这款免费插件让开发者的“一站式”工作流又前进了一大步。

CloudToolkit简介

Cloud Toolkit 是阿里云官方提供的一款 IDE 插件,支持 IntelliJ IDEA、Eclipse 等多款主流开发环境。它旨在帮助开发者更高效地开发、测试、诊断和部署适合云端运行的应用程序。其核心价值在于:将常见的运维操作集成到开发环境中,无需在多个工具间频繁切换,即可实现应用的自动化部署和云端资源管理

安装插件

安装过程非常简单,与安装其他 IDEA 插件无异。打开 IDEA,进入 Settings/Preferences -> Plugins -> Marketplace,直接搜索 Cloud Toolkit 即可找到并安装。

IDEA插件市场搜索Cloud Toolkit结果

核心功能使用:自动化部署

接下来,我们以一个 SpringBoot 应用打包并部署到远程服务器的 Docker 环境为例,详细演示 Cloud Toolkit 的自动化部署能力。

1. 配置服务器连接

插件安装完成后,你会在 IDEA 左侧工具栏看到一个云朵图标(Alibaba Cloud View)。展开后,右键 Host 选择 Add Host...,即可添加目标服务器的 SSH 连接信息,包括 IP、端口、用户名和密码。

添加SSH主机配置界面

2. 理解自动化流程

在没有这类工具之前,将一个本地 SpringBoot 应用部署到远程 Docker 环境,通常需要手动执行多个步骤。Cloud Toolkit 的价值在于,你只需配置一次,后续它便能自动完成整个流水线。

传统的部署流程如下图所示:

SpringBoot应用Docker化部署流程图

3. 准备部署脚本与文件

要实现自动化,我们需要在服务器上预先准备好两个关键文件:Dockerfile 和部署脚本 run.sh

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:一个 Shell 脚本,负责停止旧容器、移除旧镜像、构建新镜像并启动新容器。

#!/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----'

将这两个文件上传到服务器的某个目录(例如 /mydata/cloud-deploy),并赋予 run.sh 脚本可执行权限。

chmod +x run.sh

服务器终端执行chmod命令授权脚本

4. 在IDEA中配置部署任务

现在回到 IDEA,在项目上右键,选择 Alibaba Cloud -> Deploy to Host...

右键项目选择Deploy to Host菜单

随后会弹出部署配置窗口,主要配置项如下:

  • Name: 给这个部署配置起个名字,如 mall-tiny-deploy
  • Deployment: 选择 Maven Build(或 Upload File 如果你已有 jar 包)。
  • Target Host: 选择之前配置好的服务器IP。
  • Target Directory: 填写服务器上存放 jar 包和脚本的目录,如 /mydata/cloud-deploy
  • After deploy: 填写部署后要执行的命令,即 ./run.sh

Deploy to Host主配置界面

Before launch 区域,可以编辑 Maven 构建目标,例如我们只构建 mall-tiny-deploy 模块:clean install

配置Maven构建目标和参数

5. 配置高级选项(查看日志)

为了让部署后能直接看到应用启动日志,我们可以配置高级选项。在配置窗口切换到 Advanced 标签页。

  • Command 输入框中填写 docker logs -f mall-tiny-deploy
  • 勾选 Automatic open after deploy,这样部署完成后会自动打开日志窗口。

配置部署后自动查看容器日志

6. 执行部署与验证

点击 RunCloud Toolkit 便会开始自动化流程:

  1. 在本地执行 Maven 打包。
  2. 将生成的 jar 包上传到指定服务器目录。
  3. 在服务器上执行 ./run.sh 脚本。
  4. 脚本执行完毕后,自动在 IDEA 中打开终端并跟踪容器日志。

从下方日志可以看到,SpringBoot 应用已在 Docker 容器中成功启动。
SpringBoot应用在Docker容器中的启动日志

最后,我们打开应用的 Swagger 页面进行验证,确认接口可以正常访问:http://192.168.3.105:8088/swagger-ui/
应用Swagger UI接口文档页面

其他实用功能

除了核心的自动化部署,Cloud Toolkit 还集成了对开发者非常友好的运维小工具。

内置终端:在 IDEA 底部面板的 Alibaba Cloud View 中,针对已配置的主机,可以直接点击 终端 按钮打开一个功能完整的 SSH 终端。其命令提示、历史记录等功能一应俱全,足以应对日常的服务器调试和管理需求,很多时候可以替代独立的 SSH 客户端(如 Xshell)。

Alibaba Cloud View中的主机管理与终端入口

内置终端执行Docker命令查看容器和镜像

文件上传:同样在主机管理界面,点击 上传 按钮,可以非常方便地将本地文件上传到服务器指定目录,这又省去了打开 WinSCP 这类工具的步骤。

文件上传功能配置界面

总结

经过一番体验,阿里云 Cloud Toolkit 插件确实能显著提升从开发到部署的效率。通过图形化配置,它将原本繁琐的多步骤部署流程简化为“一键操作”,说它是“集成在 IDEA 里的轻量级 Jenkins”并不为过。对于SpringBootJava 项目的开发者而言,无论是部署到测试环境进行快速验证,还是管理日常开发所依赖的服务器资源,这款免费的官方插件都值得尝试。如果你也在寻找能提升本地-云端协同工作效率的工具,不妨在云栈社区与更多开发者交流类似的心得与技巧。

本文演示所用项目源码地址:
https://github.com/macrozheng/mall-learning/tree/dev-v2/mall-tiny-deploy




上一篇:Anthropic 2026 AI编程代理趋势解读:从代码实现到系统指挥的转型
下一篇:Linux内核网络数据拷贝:从用户层Buffer到内核skb的原理、流程与函数解析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 13:14 , Processed in 0.496835 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表