# springboot-app **Repository Path**: javaalpha/springboot-app ## Basic Information - **Project Name**: springboot-app - **Description**: No description available - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-31 - **Last Updated**: 2026-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring Boot 演示应用 一个基于 Spring Boot 的轻量级 Web 应用程序,演示了现代云原生应用的最佳实践。 ## 项目简介 本项目是一个标准的 Spring Boot 演示应用,展示了如何构建和部署云原生 Java 应用。包含完整的 Docker 容器化支持、Kubernetes 编排配置以及 Jenkins CI/CD 流水线。 ## 功能特性 - **RESTful API**:提供基本的信息展示和健康检查接口 - **容器化部署**:优化后的 Docker 镜像,支持容器环境自动资源调配 - **K8s 部署**:预配置的 Kubernetes 部署资源清单 - **CI/CD 自动化**:Jenkins Pipeline 配置文件支持持续集成和部署 - **健康检查**:内置健康端点便于容器编排系统监控 ## 技术栈 | 类别 | 技术选型 | |------|----------| | 编程语言 | Java 17 | | 框架 | Spring Boot | | 构建工具 | Maven 3.9 | | 运行时 | Eclipse Temurin JRE | | 容器基础镜像 | Alpine Linux | | 部署平台 | Kubernetes | ## 快速开始 ### 环境要求 - JDK 17 或更高版本 - Maven 3.6+ - Docker(可选) - Kubernetes 集群(可选) ### 本地运行 ```bash # 克隆项目 git clone <仓库地址> cd springboot-app # 构建项目 mvn clean package -DskipTests # 运行应用 java -jar target/demo-*.jar ``` 应用启动后访问 http://localhost:8080 ### Docker 部署 ```bash # 构建镜像 docker build -t springboot-demo:latest . # 运行容器 docker run -d -p 8080:8080 --name demo-app springboot-demo:latest ``` ### Kubernetes 部署 ```bash # 创建命名空间 kubectl apply -f k8s/namespace.yaml # 部署应用 kubectl apply -f k8s/deployment.yaml # 验证部署 kubectl get pods -n demo-namespace ``` ## API 文档 ### 接口列表 | 方法 | 路径 | 说明 | |------|------|------| | GET | / | 返回欢迎信息 | | GET | /health | 健康检查端点 | ### 请求示例 ```bash # 欢迎信息 curl http://localhost:8080/ # 健康检查 curl http://localhost:8080/health ``` ## 配置说明 ### JVM 参数 应用默认配置了容器环境优化参数: ```bash -XX:+UseContainerSupport # 启用容器资源检测 -XX:MaxRAMPercentage=75.0 # 最大堆内存占比 ``` 可通过 `JAVA_OPTS` 环境变量覆盖默认配置。 ### 端口配置 默认暴露端口:`8080` ## 项目结构 ``` ├── src/main/java/com/example/demo/ │ └── DemoApplication.java # 应用入口类 ├── k8s/ # Kubernetes 资源文件 │ ├── deployment.yaml # 部署配置 │ ├── maven-pvc.yaml # 持久卷声明 │ ├── namespace.yaml # 命名空间定义 │ └── rbac/ # RBAC 权限配置 ├── Jenkinsfile # Jenkins 流水线配置 ├── Dockerfile # Docker 构建文件 ├── pom.xml # Maven 配置 └── LICENSE # 许可证文件 ``` ## CI/CD 流水线 项目包含完整的 Jenkins Pipeline 配置,支持: - 自动构建和测试 - Docker 镜像构建和推送 - Kubernetes 自动部署 ## 许可证 本项目采用 Apache License 2.0 许可协议。