# devOps **Repository Path**: yangyuxxx/dev-ops ## Basic Information - **Project Name**: devOps - **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-02-26 - **Last Updated**: 2026-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DevOps Monitor - CI/CD监控工具 一个完整的 CI/CD 监控工具,用于监控 Jenkins 构建状态、管理 Nexus 制品仓库,并支持自动化部署。 ## 功能特性 ### 后端功能 - **Jenkins API 封装** - 获取构建状态、构建历史、构建详情 - 触发构建任务 - 获取构建日志 - **Nexus API 封装** - 获取仓库列表 - 搜索和浏览制品 - 下载制品 - 存储统计 - **发布部署功能** - SSH 连接到目标服务器 - 上传制品并执行部署脚本 - 部署前/后命令执行 - 自动备份 - **数据持久化** - SQLite 存储配置和历史数据 - 部署历史记录 ### 前端功能 - **监控看板页面** - Jenkins 构建状态卡片 - 构建历史图表 - Nexus 存储统计 - **制品管理页面** - 仓库浏览 - 制品列表和搜索 - 制品详情 - 下载按钮 - **发布部署页面** - 选择制品 - 输入目标服务器地址 - 执行发布 - 部署历史查看 - **系统配置页面** - Jenkins/Nexus/SSH 配置 ## 技术栈 - **后端**: Node.js + Express + TypeScript - **前端**: Vue 3 + Vite + TypeScript + Element Plus - **数据库**: SQLite - **部署**: Docker + Docker Compose ## 快速开始 ### 环境要求 - Node.js 18+ - Docker & Docker Compose (可选) ### 方式一:Docker 部署(推荐) 1. 克隆项目 ```bash git clone cd devops-monitor ``` 2. 配置环境变量 ```bash cp .env.example .env # 编辑 .env 文件,配置 Jenkins 和 Nexus 连接信息 ``` 3. 启动服务 ```bash docker-compose up -d ``` 4. 访问应用 - 前端: http://localhost - 后端 API: http://localhost:3000 ### 方式二:本地开发 #### 后端 1. 进入后端目录 ```bash cd backend ``` 2. 安装依赖 ```bash npm install ``` 3. 配置环境变量 ```bash cp .env.example .env # 编辑 .env 文件 ``` 4. 启动开发服务器 ```bash npm run dev ``` 后端服务将在 http://localhost:3000 运行 #### 前端 1. 进入前端目录 ```bash cd frontend ``` 2. 安装依赖 ```bash npm install ``` 3. 启动开发服务器 ```bash npm run dev ``` 前端服务将在 http://localhost:5173 运行 ## 环境变量配置 | 变量名 | 说明 | 默认值 | |--------|------|--------| | `PORT` | 后端服务端口 | 3000 | | `NODE_ENV` | 运行环境 | development | | `JENKINS_URL` | Jenkins 地址 | http://localhost:8080 | | `JENKINS_USERNAME` | Jenkins 用户名 | admin | | `JENKINS_TOKEN` | Jenkins API Token | - | | `NEXUS_URL` | Nexus 地址 | http://localhost:8081 | | `NEXUS_USERNAME` | Nexus 用户名 | admin | | `NEXUS_PASSWORD` | Nexus 密码 | - | | `DB_PATH` | 数据库文件路径 | ./data/devops-monitor.db | | `LOG_LEVEL` | 日志级别 | info | ## API 接口文档 ### Jenkins 接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /api/jenkins/jobs | 获取所有任务 | | GET | /api/jenkins/jobs/:name | 获取任务详情 | | GET | /api/jenkins/jobs/:name/builds | 获取构建历史 | | GET | /api/jenkins/jobs/:name/builds/:number | 获取构建详情 | | GET | /api/jenkins/jobs/:name/builds/:number/console | 获取构建日志 | | POST | /api/jenkins/jobs/:name/build | 触发构建 | | GET | /api/jenkins/stats | 获取统计信息 | ### Nexus 接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /api/nexus/repositories | 获取仓库列表 | | GET | /api/nexus/search | 搜索制品 | | GET | /api/nexus/components/:id | 获取组件详情 | | DELETE | /api/nexus/components/:id | 删除组件 | | GET | /api/nexus/blobstores | 获取 Blob 存储 | | GET | /api/nexus/stats | 获取存储统计 | | GET | /api/nexus/download | 下载制品 | ### 部署接口 | 方法 | 路径 | 说明 | |------|------|------| | POST | /api/deploy | 创建部署 | | GET | /api/deploy/history | 获取部署历史 | | POST | /api/deploy/test-connection | 测试 SSH 连接 | | POST | /api/deploy/execute | 执行远程命令 | ### 配置接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /api/config | 获取配置 | | PUT | /api/config | 更新配置 | | GET | /api/config/ssh | 获取 SSH 配置 | | POST | /api/config/ssh | 创建 SSH 配置 | | DELETE | /api/config/ssh/:id | 删除 SSH 配置 | | GET | /api/config/health | 健康检查 | ## 项目结构 ``` devops-monitor/ ├── backend/ # Node.js 后端 │ ├── src/ │ │ ├── config/ # 配置管理 │ │ ├── db/ # 数据库操作 │ │ ├── routes/ # API 路由 │ │ ├── services/ # 业务逻辑 │ │ ├── utils/ # 工具函数 │ │ ├── app.ts # Express 应用 │ │ └── index.ts # 入口文件 │ ├── Dockerfile │ ├── package.json │ └── tsconfig.json ├── frontend/ # Vue3 前端 │ ├── src/ │ │ ├── api/ # API 封装 │ │ ├── components/ # 组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── views/ # 页面视图 │ │ ├── App.vue │ │ └── main.ts │ ├── Dockerfile │ ├── nginx.conf │ ├── package.json │ └── vite.config.ts ├── docker-compose.yml └── README.md ``` ## 开发计划 - [x] Jenkins API 封装 - [x] Nexus API 封装 - [x] SSH 部署功能 - [x] 前端监控看板 - [x] 制品管理页面 - [x] 发布部署页面 - [x] 系统配置页面 - [ ] 用户认证与授权 - [ ] 部署流水线模板 - [ ] 告警通知功能 - [ ] 多环境支持 ## 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 许可证 [MIT](LICENSE)