自学内容网 自学内容网

SpringBoot自动化部署实战指南

SpringBoot自动化部署实战指南

一、环境准备
  1. 服务器环境配置
# 安装JDK
sudo apt install openjdk-17-jdk

# 验证安装
java -version

  1. 项目基础配置
<!-- pom.xml 打包配置 -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

二、CI/CD流水线搭建
  1. GitLab CI示例 (.gitlab-ci.yml)
stages:
  - build
  - deploy

build-job:
  stage: build
  image: maven:3.8.6-jdk-11
  script:
    - mvn clean package -DskipTests

deploy-job:
  stage: deploy
  image: alpine:3.16
  script:
    - apk add openssh-client
    - scp -o StrictHostKeyChecking=no target/*.jar user@server:/opt/app
    - ssh user@server "systemctl restart myapp.service"

三、Docker化部署方案
  1. Dockerfile示例
FROM eclipse-temurin:17-jdk-alpine
VOLUME /tmp
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

  1. Docker Compose配置
version: '3.8'
services:
  app:
    build: .
    ports:
      - "8080:8080"
    environment:
      - SPRING_PROFILES_ACTIVE=prod

四、自动化部署脚本
  1. 部署脚本 (deploy.sh)
#!/bin/bash
SERVER="user@production"
APP_DIR="/opt/springboot-app"
JAR_NAME="app-0.0.1-SNAPSHOT.jar"

echo "▶ 开始构建项目..."
mvn clean package -DskipTests

echo "▶ 传输部署文件..."
scp target/$JAR_NAME $SERVER:$APP_DIR

echo "▶ 重启应用服务..."
ssh $SERVER "cd $APP_DIR && \
    docker-compose down && \
    docker-compose up -d"

echo "✓ 部署完成"

五、部署验证
# 查看应用日志
ssh user@server "docker logs -f springboot-app"

# 健康检查
curl http://server:8080/actuator/health

六、进阶优化方案
  1. 配置管理建议:

    • 使用Spring Cloud Config进行配置中心化管理
    • 敏感信息使用Vault或Kubernetes Secrets管理
  2. 部署策略优化:

    # Kubernetes滚动更新策略示例
    strategy:
      type: RollingUpdate
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
    

  3. 监控集成:

    • Prometheus + Grafana监控体系
    • ELK日志收集系统

提示:生产环境建议采用蓝绿部署或金丝雀发布策略,使用Nginx或Kubernetes流量管理功能实现平滑过渡。


原文地址:https://blog.csdn.net/qq123456xxd/article/details/148657676

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!