# test **Repository Path**: feng-3310/test ## Basic Information - **Project Name**: test - **Description**: jenkins+k8s+gitee+harbor cicd测试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-02-10 - **Last Updated**: 2026-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 前后端分离系统 这是一个前后端分离的 Web 应用系统,包含 React 前端和 Node.js 后端,支持 Docker 容器化和 Kubernetes 部署。 ## 项目结构 ``` . ├── frontend/ # React 前端应用 │ ├── src/ # 源代码 │ ├── Dockerfile # 前端 Dockerfile │ └── nginx.conf # Nginx 配置 ├── backend/ # Node.js 后端服务 │ ├── server.js # 服务器主文件 │ └── Dockerfile # 后端 Dockerfile ├── k8s/ # Kubernetes 部署配置 │ ├── backend-deployment.yaml │ ├── frontend-deployment.yaml │ └── ingress.yaml └── docker-compose.yml # Docker Compose 配置(用于本地测试) ``` ## 技术栈 ### 前端 - React 18 - Vite - Axios - Nginx (生产环境) ### 后端 - Node.js 18 - Express - CORS ## 快速开始 ### 本地开发 #### 后端 ```bash cd backend npm install npm run dev ``` 后端服务运行在 http://localhost:3001 #### 前端 ```bash cd frontend npm install npm run dev ``` 前端应用运行在 http://localhost:3000 ### Docker 构建和运行 #### 构建镜像 ```bash # 构建后端镜像 cd backend docker build -t backend-service:latest . # 构建前端镜像 cd ../frontend docker build -t frontend-app:latest . ``` #### 使用 Docker Compose ```bash docker-compose up -d ``` 访问 http://localhost:3000 ### Kubernetes 部署 #### 方式一:手动部署 ##### 1. 构建并推送镜像到镜像仓库 ```bash # 构建并推送到 Harbor docker build -t harbor.lxf.com/cicd/backend-service:latest ./backend docker build -t harbor.lxf.com/cicd/frontend-app:latest ./frontend docker push harbor.lxf.com/cicd/backend-service:latest docker push harbor.lxf.com/cicd/frontend-app:latest ``` ##### 2. 更新 Kubernetes 配置文件中的镜像地址 编辑 `k8s/backend-deployment.yaml` 和 `k8s/frontend-deployment.yaml`,将镜像地址替换为你的镜像仓库地址。 ##### 3. 部署到 Kubernetes ```bash # 部署后端 kubectl apply -f k8s/backend-deployment.yaml # 部署前端 kubectl apply -f k8s/frontend-deployment.yaml # 部署 Ingress(可选,需要安装 Ingress Controller) kubectl apply -f k8s/ingress.yaml ``` ##### 4. 检查部署状态 ```bash # 查看 Pods kubectl get pods # 查看 Services kubectl get services # 查看 Deployments kubectl get deployments ``` ##### 5. 访问应用 如果使用 LoadBalancer Service,可以通过以下命令获取访问地址: ```bash kubectl get service frontend-service ``` 如果使用 Ingress,需要配置 DNS 或修改 hosts 文件: ``` your-ingress-ip app.example.com ``` #### 方式二:Jenkins CI/CD 自动化部署(推荐) 使用 Jenkins 实现自动化构建和部署,支持基于 Git Tag 的版本发布。 **详细配置说明请查看**: [JENKINS_SETUP.md](./JENKINS_SETUP.md) **快速开始**: 1. 在 Jenkins 中配置 Harbor 凭据(ID: `harbor-admin`,用户名: `admin`,密码: `Harbor123456`) 2. 创建 Pipeline Job,指向 Gitee 仓库和 `Jenkinsfile` 3. 在 Gitee 上打 Tag(如 `v1`, `v2`)并推送 4. 触发 Jenkins 构建,自动完成: - 构建 Docker 镜像 - 推送到 Harbor - 更新 Kubernetes Deployment - 滚动更新服务 ## API 端点 ### 后端 API - `GET /health` - 健康检查 - `GET /api/users` - 获取用户列表 - `GET /api/users/:id` - 获取单个用户 - `POST /api/users` - 创建新用户 ## 环境变量 ### 后端 - `PORT` - 服务器端口(默认: 3001) ### 前端 - `VITE_API_URL` - 后端 API 地址(默认: http://localhost:3001) ## 生产环境注意事项 1. **安全性** - 在生产环境中使用 HTTPS - 配置适当的 CORS 策略 - 使用环境变量管理敏感信息 2. **性能** - 配置资源限制和请求限制 - 启用 Nginx 缓存 - 使用 CDN 加速静态资源 3. **监控** - 配置日志收集 - 设置监控和告警 - 使用健康检查端点 ## 许可证 MIT