使用 IntelliJ IDEA 将 Spring Boot 项目远程部署到服务器的详细步骤,涵盖多种常见方法:
方法一:通过 SSH + Maven 插件直接部署
1. 服务器环境准备
- 确保服务器已安装:
- Java 运行环境(与项目 JDK 版本一致)
- Maven(可选,如果需要在服务器构建)
- 开放应用端口(如
8080
)和 SSH 端口(默认22
)
2. 配置项目打包(pom.xml)
在 pom.xml
中添加 Spring Boot 打包插件,确保生成可执行 JAR:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3. 本地构建项目
在 IDEA 中执行 Maven 打包命令:
mvn clean package -DskipTests
生成的 JAR 文件位于 target/项目名.jar
。
4. 通过 IDEA 的 SFTP 插件上传文件
-
启用 SFTP 插件:
- IDEA 菜单:
Tools -> Deployment -> Configuration
。 - 点击
+
添加新服务器配置,选择SFTP
。
- IDEA 菜单:
-
配置服务器连接:
Name: 自定义名称(如 "Production Server") Host: 服务器IP地址 Port: SSH端口(默认22) User: 服务器用户名 Auth Type: 选择 "Key pair"(推荐)或密码 Root Path: 服务器部署目录(如 `/home/user/app`)
-
映射本地与服务器路径:
- 在
Mappings
标签页中,设置本地项目路径与服务器目标路径的映射。
-
上传 JAR 文件:
- 右键点击
target/项目名.jar
,选择Deployment -> Upload to...
,选择配置的服务器。
- 右键点击
5. 通过 IDEA 终端远程启动应用
- 连接服务器:
- IDEA 菜单:
Tools -> SSH Session
,选择配置好的服务器。
- 启动 Spring Boot 应用:
cd /home/user/app nohup java -jar 项目名.jar > app.log 2>&1 &
方法二:使用 Docker 远程部署
1. 服务器环境准备
- 安装 Docker 和 Docker Compose:
# Ubuntu 示例 sudo apt-get install docker.io docker-compose
2. 配置 Dockerfile
在项目根目录创建 Dockerfile
:
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY target/项目名.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
3. 构建镜像并上传到服务器
-
本地构建镜像:
docker build -t my-spring-app .
-
将镜像导出为文件:
docker save -o my-spring-app.tar my-spring-app
-
通过 SFTP 上传镜像文件到服务器。
-
在服务器加载镜像:
docker load -i my-spring-app.tar
4. 通过 IDEA 远程执行 Docker 命令
-
配置 Docker 远程连接:
- IDEA 安装
Docker
插件。 - 菜单:
Settings -> Build -> Docker
,添加服务器 Docker 的 SSH 连接。
- IDEA 安装
-
启动容器:
- 在 IDEA 的
Services
窗口,右键镜像选择Run
,配置端口映射(如8080:8080
)。
- 在 IDEA 的
方法三:通过 CI/CD 工具(如 Jenkins)
1. 服务器安装 Jenkins
# Ubuntu 示例
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins
2. 配置 Jenkins 任务
-
创建新任务,选择 “Maven 项目”。
-
配置 Git 仓库地址(或上传代码)。
-
设置构建命令:
mvn clean package -DskipTests
-
添加部署步骤(Post-build Action):
- 使用
Publish Over SSH
插件将 JAR 文件上传到服务器并执行启动脚本。
- 使用
方法四:使用 IDEA 内置的 Cloud Code 插件(针对 Kubernetes)
- 安装 Cloud Code 插件:
- 支持 Kubernetes 部署(适合云原生应用)。
- 配置 Kubernetes 集群:
- 在服务器安装 Kubernetes(如使用 Minikube 或 k3s)。
- 生成 Deployment 配置:
- 右键项目选择
Cloud Code -> Deploy to Kubernetes
。
- 右键项目选择
- 远程部署:
- 自动生成 YAML 文件并同步到集群。
通用验证步骤
- 检查应用日志:
tail -f /home/user/app/app.log
- 访问 API 端点:
curl http://服务器IP:8080/health
- 查看进程状态:
ps aux | grep java
注意事项
- 安全性:
- 使用 SSH 密钥替代密码。
- 配置防火墙规则,仅开放必要端口。
- 进程管理:
- 推荐使用
systemd
或Supervisor
管理应用进程。
- 推荐使用
- 环境变量:
- 敏感信息(如数据库密码)通过环境变量注入,避免硬编码。
通过以上任一方法,均可实现从 IntelliJ IDEA 到服务器的 Spring Boot 项目部署。推荐初次使用者从 方法一(SSH + SFTP) 开始,熟悉后再尝试 Docker 或自动化工具。