# 流水线 **Repository Path**: AI-Powered/cicd ## Basic Information - **Project Name**: 流水线 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-07 - **Last Updated**: 2026-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MiniCI - 轻量级 CI/CD 构建平台 一款基于 Web 的轻量级 CI/CD 构建管理平台,用于替代复杂 Jenkins / GitLab CI,在中小团队中提供项目管理、Git 代码构建、多语言构建支持、实时构建日志、构建历史追踪等功能。 ## 技术栈 - **前端**: Vue3 + Element Plus + Vite - **后端**: Python + Flask + Flask-SocketIO - **数据库**: SQLite3 - **实时通信**: WebSocket ## 快速开始 ### 环境要求 - Python 3.8+ - Node.js 18+ - Git ### 方式一:一键启动(Windows) 双击运行 `start.bat` 脚本,自动安装依赖并启动前后端服务。 ### 方式二:手动启动 #### 1. 启动后端 ```bash # 在项目根目录创建虚拟环境(推荐) python -m venv .venv # 激活虚拟环境 # Windows: .venv\Scripts\activate # macOS/Linux: source .venv/bin/activate # 安装依赖 uv pip install -r backend/requirements.txt # 启动服务 uv run python backend/app.py ``` 后端服务将运行在 http://localhost:5000 > **注意**:虚拟环境建议在项目根目录创建(`.venv`),这样前后端可以共享环境配置。 #### 2. 启动前端 ```bash cd frontend # 安装依赖 npm install # 启动开发服务器 npm run dev ``` 前端服务将运行在 http://localhost:3000 ## 使用说明 ### 1. 创建项目 访问 http://localhost:3000,点击"新增项目"按钮,填写项目信息: - **项目名称**: 项目的显示名称 - **项目类型**: vue / springboot / python / other - **Git 地址**: 代码仓库的 Git URL - **默认分支**: 如 main、master、develop - **构建命令**: 构建时执行的命令 **常用构建命令示例**: | 项目类型 | 构建命令 | |---------|---------| | Vue3 | `npm install && npm run build` | | Spring Boot | `mvn clean package -DskipTests` | | Python | `pip install -r requirements.txt` | ### 2. 执行构建 1. 进入"构建"页面 2. 选择要构建的项目 3. 选择或输入分支名称 4. 点击"开始构建" 5. 在下方查看实时构建日志 ### 3. 查看构建历史 进入"构建历史"页面,可以查看所有构建记录,包括: - 构建状态(成功/失败/进行中) - 开始/结束时间 - 构建耗时 - 查看详细日志 ## 项目结构 ``` cicd/ ├── backend/ # 后端代码 │ ├── app.py # Flask 主应用 │ └── requirements.txt # Python 依赖 ├── frontend/ # 前端代码 │ ├── src/ │ │ ├── api/ # API 接口封装 │ │ ├── components/ # 公共组件 │ │ ├── router/ # 路由配置 │ │ └── views/ # 页面组件 │ ├── package.json │ └── vite.config.js ├── start.bat # Windows 一键启动脚本 └── README.md ``` ## Gitee Webhook 自动构建 支持 Gitee 代码推送时自动触发构建。 ### 配置步骤 1. **在 MiniCI 中创建项目**,确保 Git 地址与 Gitee 仓库地址匹配 2. **在 Gitee 仓库设置 Webhook**: - 进入仓库 → 管理 → WebHooks - 添加 Webhook: - **URL**: `http://your-server:5000/webhook/gitee` - **密码/密钥**: 可选,用于验证请求 - **事件**: 勾选 `Push` 事件 3. **测试 Webhook**: - 使用测试按钮或推送代码触发 - 查看构建历史确认自动构建已触发 ### Webhook 端点 | 方法 | 路径 | 说明 | |-----|------|------| | POST | /webhook/gitee | 接收 Gitee Webhook 推送 | | GET | /webhook/gitee/test | 测试 Webhook 配置 | ### 自动构建规则 - 只处理 `Push Hook` 事件 - 只构建项目配置的默认分支 - 避免重复构建(如果已有构建在进行中) ## API 接口 ### 项目管理 | 方法 | 路径 | 说明 | |-----|------|------| | GET | /api/projects | 获取项目列表 | | GET | /api/projects/:id | 获取项目详情 | | POST | /api/projects | 创建项目 | | PUT | /api/projects/:id | 更新项目 | | DELETE | /api/projects/:id | 删除项目 | ### 构建管理 | 方法 | 路径 | 说明 | |-----|------|------| | GET | /api/builds | 获取所有构建历史 | | GET | /api/projects/:id/builds | 获取项目构建历史 | | POST | /api/projects/:id/build | 触发构建 | | GET | /api/builds/:id | 获取构建详情 | | GET | /api/builds/:id/log | 获取构建日志 | ### WebSocket 事件 - **build_log**: 实时构建日志推送 - **build_complete**: 构建完成通知 ## 功能特性 ✅ 项目管理(增删改查) ✅ Git 代码拉取(clone/pull) ✅ 多语言构建支持(Vue/Java/Python) ✅ 实时构建日志(WebSocket) ✅ 构建历史追踪 ✅ 多分支构建 ✅ 单进程串行构建 ## 版本规划 - **V1.0** (当前): 基础功能 - 项目管理、Git 拉代码、多语言构建、实时日志 - **V2.0** (计划): Docker 构建、构建队列、用户登录 - **V3.0** (计划): 多 Agent、分布式构建、K8s 部署 ## 许可证 MIT License