本文提供了一套开箱即用的 Spring Boot 部署方案,将 IDEA、Docker、Shell 脚本有机整合,实现"本地点一下,远程跑起来"的自动化部署体验,适合有一定基础但希望提升部署效率的开发者参考实践。
一、安装 Alibaba Cloud Toolkit 插件
在 IDEA 插件市场搜索安装 Alibaba Cloud Toolkit:
二、配置远程主机
导航 Tool → Alibaba Cloud → Deploy to Host,打开部署面板:
点击添加远程主机,填写服务器 IP、用户名和密码/密钥:
再次打开 Deploy to Host,新增部署配置:
可按需自定义 Maven 打包命令与文件上传路径:
三、编写 Dockerfile 与 start.sh 部署脚本
在项目根目录下创建 Dockerfile 和 start.sh:
Dockerfile
dockerfile
# 使用 JDK 21 的基础镜像
FROM eclipse-temurin:21-jdk-alpine
# 维护者信息(可选)
LABEL maintainer="xxxxxx@yeah.net"
# 设置工作目录
WORKDIR /app
# 复制 jar 包到容器内
COPY codebit-api-1.0-SNAPSHOT.jar app.jar
# 暴露应用端口
EXPOSE 8888
# 启动命令
ENTRYPOINT ["java", "-jar", "app.jar"]
部署脚本 start.sh
bash
#!/bin/bash
# ===== 配置变量 =====
APP_NAME="codebit-api"
PORT=8888
JAR_FILE="codebit-api-1.0-SNAPSHOT.jar"
# ===================
DEPLOY_DIR="/root/deploy/jdk21-app"
cd ${DEPLOY_DIR}
echo "===== 开始部署 ${APP_NAME} ====="
# 停止并删除旧容器
echo "1. 停止旧容器..."
docker stop ${APP_NAME} 2>/dev/null
docker rm ${APP_NAME} 2>/dev/null
# 删除旧镜像
echo "2. 删除旧镜像..."
docker rmi ${APP_NAME}:latest 2>/dev/null
# 检查 JAR 文件是否存在
if [ ! -f "${JAR_FILE}" ]; then
echo "错误: JAR 文件 ${JAR_FILE} 不存在!"
exit 1
fi
# 构建新镜像
echo "3. 构建新镜像..."
docker build -t ${APP_NAME}:latest .
# 启动新容器
echo "4. 启动新容器..."
docker run -d \
--name ${APP_NAME} \
-p ${PORT}:${PORT} \
-e TZ="Asia/Shanghai" \
--restart=always \
${APP_NAME}:latest
# 检查容器启动状态
if [ $? -eq 0 ]; then
echo "===== 部署完成 ====="
echo "应用访问地址: http://ip:${PORT}"
echo "查看日志: docker logs ${APP_NAME} -f"
else
echo "===== 部署失败 ====="
exit 1
fi
# 显示最近日志
docker logs ${APP_NAME} --tail 10
⚠️ 注意:脚本中
APP_NAME、PORT、JAR_FILE等变量请根据实际项目调整。
四、一键执行部署
配置完成后,在 IDEA 中运行部署任务:
部署成功后,访问 http://服务器IP:8888 即可验证应用是否正常运行。
五、部署流程总结
| 步骤 | 核心操作 |
|---|---|
| ① | 安装 Alibaba Cloud Toolkit 插件 |
| ② | 添加远程主机(IP + 认证信息) |
| ③ | 创建 Dockerfile 定义容器环境 |
| ④ | 编写 start.sh 实现容器生命周期管理 |
| ⑤ | 配置部署任务(打包路径 + 上传目录) |
| ⑥ | 一键运行,完成远程部署 |
通过这套方案,你可以在 IDEA 中实现 "一次配置,永久复用" 的自动化部署流程,显著提升开发测试阶段的发布效率 🚀