构建编排监控系统

一个简化的构建编排和监控系统,支持触发构建、管理作业队列并通过现代Web仪表板可视化实时日志和状态。

  • by Aanwiie
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Aanwiie/Devops-automation

使用说明

MCP Hub原型:构建编排和监控

受CI/CD启发的简化构建编排和监控系统 以及MCP(模型上下文协议)概念。
它使用户能够触发构建、管理作业队列和可视化 通过现代网络仪表板实时记录日志和状态。

该项目作为最后一年团队项目展示系统 编排、后端-前端集成和分布式服务 通信使用 Node.js、Redis和MongoDB.


✨ 概述


图标功能说明


🎬 作业编排 触发和管理构建 通过基于Express的执行 REST API。

🚦 可靠的排队 使用Redis+BullMQ实现健壮 作业调度和交付。

⚙️ 分布式专用Node.js代理 执行 服务执行模拟构建 任务。

📊 实时跟踪作业生命周期:排队→ 监控 跑步→ 通过完成/失败 仪表板。

📦 Docker化无缝部署所有服务 环境 使用Docker Compose。


🏛️ 系统架构

该架构遵循解耦的微服务方法——确保 通过共享Redis实现可扩展性和明确的关注点分离 队列和MongoDB持久性。

graph TD
    A[Frontend (React)] -- POST /trigger --> B(Backend - Node.js/Express)
    B -- Enqueue Job --> C[Redis Queue]
    B -- Persist Metadata --> D[(MongoDB)]
    C -- Consume Task --> E[Agent Service - Node.js]
    E -- Run Simulated Build --> E
    E -- Status Updates --> B
    B -- Final Save --> D
    B -- GET /jobs --> A

    subgraph Core Data & Orchestration
        C
        D
    end

    subgraph Presentation & Control
        A
        B
    end

🛠️ 技术栈


层组件技术角色


API/控制后台Node.js(Express)API层,作业 创造, 编排

作业队列Redis+BullMQ高性能 管理任务调度

持久数据库MongoDB存储作业 元数据和日志

Worker Agent Node.js微服务执行模拟 构建任务

工作界面前端React仪表板 监控

部署基础架构Docker编写容器 编排


📂 文件夹结构

mcp-hub/
│
├── backend/
│   ├── src/
│   │   ├── routes/
│   │   ├── models/
│   │   ├── controllers/
│   │   └── utils/
│   ├── .env
│   └── server.js
│
├── agent/
│   ├── src/
│   │   └── agent.js
│   ├── .env
│   └── package.json
│
├── frontend/
│   ├── src/
│   └── package.json
│
├── docker-compose.yml
└── README.md

⚙️ 安装和设置

🧩 先决条件

  • Node.js v18+
  • Docker&Docker编写

1.️⃣ 克隆存储库

git clone https://github.com/<your-username>/mcp-hub.git
cd mcp-hub

2.️⃣ 配置环境变量

创建 后端/.env

PORT=5000
MONGO_URI=mongodb://mongo:27017/mcp_hub
REDIS_HOST=redis

创建 agent/.env

REDIS_HOST=redis
BACKEND_URL=http://backend:5000

3.️⃣ 使用Docker Compose启动(推荐)

docker-compose up --build -d

服务URL端口


前端http://localhost:30003000 后端http://localhost:50005000


4.️⃣ 手动运行(无Docker)

后端:

cd backend && npm install
npm run dev

代理人:

cd agent && npm install
npm start

前端:

cd frontend && npm install
npm start

🛑 停止并清理

docker-compose down -v

📞 API终点

方法端点描述


POST/trigger触发新的构建作业 GET/jobs获取所有作业历史记录 GET/jobs/:id获取详细的作业信息


🗓️ 团队和路线图

团队:NodeNerds
项目类型:终年项目(2025年11月)

名称角色焦点


成员1后端主管API,Redis集成 成员2代理工程师工作执行系统 成员3前端开发人员React UI 成员4 DevOps Docker,CI/CD 成员5文件质量保证和报告


🧭 开发时间线

周目标可交付成果


1后端基础作业队列+持久性 2代理集成工作器执行 3前端仪表板实时用户界面 4最终确定Docker+错误处理


💡 未来方向

  • Docker中的Docker提供真正的CI/CD支持\
  • 用于实时日志流的WebSockets\
  • 多代理并行扩展\
  • 普罗米修斯和格拉法纳可观测性\
  • 基于角色的访问控制(RBAC)

📄 许可证

MIT许可证
与开发❤️ 通过 团队NodeNerds,最后一年项目----11月 2025.