使用说明
🛡️ Sentinel CI-用于AI代理的通用CI/CD智能
一个统一的界面。四个CI/CD平台。无限的可能性。
🌟 什么是Sentinel CI?
Sentinel CI是一个 生产级模型上下文协议(MCP)服务器 这为AI代理(如Claude)提供了跨多个平台对CI/CD数据的安全、只读访问:
- 🔧 詹金斯 -传统企业CI/CD
- 🚀 GitHub 操作 -现代云原生工作流
- 🦊 GitLab 的 -一体式DevOps平台
全部通过a 单一、统一的界面 内置缓存、指标和安全性。
✨ 特性
🔒 安全第一
- 默认情况下为只读 -无构建触发器或配置更改
- 自动秘密编辑 -10+凭证、令牌、密钥模式
- 审计日志 -跟踪所有操作
- 基于令牌的身份验证 -安全的API访问
⚡ 演出
- 智能缓存 -命中率超过70%,自适应TTL
- 普罗米修斯指标 -P50/P95/P99延迟跟踪
- 连接池 -高效的HTTP重用
- 异步操作 -非阻塞I/O
🔌 多平台
- 统一API -相同的工具适用于所有平台
- 平台特定功能 -访问独特功能
- 易于迁移 -无需更改代码即可切换平台
- 可扩展的 -轻松添加新平台
📊 丰富的数据访问
- 带有状态的作业/管道列表
- 构建摘要和历史记录
- 失败的阶段和错误分析
- 测试结果和失败
- 带有上下文的智能日志摘录
- 健康监测
🚀 快速开始
安装
git clone https://github.com/kiranreddi/sentinel-ci.git
cd sentinel-ci
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
# Or editable install with dev tools: pip install -e ".[dev]"
配置并运行
cp .env.example .env
# Edit .env for your platform (see docs/getting-started/configuration.md)
export CI_PLATFORM=jenkins
export JENKINS_URL="https://jenkins.example.com"
export JENKINS_TOKEN="username:token"
python -m sentinel_ci
# Or: sentinel-ci-server
尝试演示(不需要CI!)
python examples/demo.py
🎯 使用示例
使用克劳德桌面
增添 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"sentinel-ci": {
"command": "python",
"args": ["-m", "sentinel_ci"],
"env": {
"CI_PLATFORM": "jenkins",
"JENKINS_URL": "https://jenkins.example.com",
"JENKINS_TOKEN": "your-token"
}
}
}
}
程序化使用
from sentinel_ci import SentinelCI
# Initialize
sentinel = SentinelCI(platform="jenkins", url="...", token="...")
# List jobs
jobs = await sentinel.list_jobs()
# Get build details
build = await sentinel.get_build_summary("my-job", 42)
# Get failed tests
tests = await sentinel.get_failed_tests("my-job", 42)
🛠️ 支持的平台
詹金斯
export CI_PLATFORM="jenkins"
export JENKINS_URL="https://jenkins.example.com"
export JENKINS_TOKEN="username:api_token"
特征:
- ✅ 经典和流水线作业
- ✅ 蓝海支持
- ✅ 插件兼容性
- ✅ 多分支管道
GitHub 操作
export CI_PLATFORM="github-actions" # aliases: github, github_actions
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxx"
export GITHUB_OWNER="owner"
export GITHUB_REPO="repo" # or GITHUB_REPO="owner/repo"
特征:
- ✅ 工作流运行
- ✅ 作业详细信息
- ✅ 工件访问
- ✅ 检查运行情况
GitLab 的
export CI_PLATFORM="gitlab-ci" # aliases: gitlab, gitlab_ci
export GITLAB_URL="https://gitlab.com"
export GITLAB_TOKEN="glpat-xxxxxxxxxxxxx"
export GITLAB_PROJECT_ID="12345678" # or group/project
特征:
- ✅ 管道作业
- ✅ 舞台细节
- ✅ 测试报告
- ✅ 合并请求管道
📚 文档
🎬 演示
请参阅Sentinel CI的实际应用:
# Run interactive demo
python examples/demo.py
# Watch the video
# https://youtu.be/your-demo-video
演示包括:
- 多平台职位列表
- 构建故障分析
- 测试报告生成
- 带有秘密编辑的日志分析
- 性能指标
🏗️ 建筑学
┌─────────────────────────────────────────────┐
│ AI Agent (Claude, GPT, etc.) │
└─────────────────┬───────────────────────────┘
│ MCP Protocol
┌─────────────────▼───────────────────────────┐
│ Sentinel CI Server │
│ ┌─────────────────────────────────────┐ │
│ │ Unified MCP Interface │ │
│ └─────────────────────────────────────┘ │
│ ┌──────┬──────┬──────┬──────────────┐ │
│ │Cache │Metrics│Redact│Auth │ │
│ └──────┴──────┴──────┴──────────────┘ │
│ ┌──────┬──────┬──────┬──────────────┐ │
│ │Jenkins│GitHub│GitLab│Generic │ │
│ │Client │Client│Client│Client │ │
│ └──────┴──────┴──────┴──────────────┘ │
└─────────────────┬───────────────────────────┘
│ REST APIs
┌─────────────────▼───────────────────────────┐
│ Jenkins, GitHub, GitLab, Custom CI │
└─────────────────────────────────────────────┘
📊 演出
- P95延迟: 所有操作均小于2秒
- 缓存命中率: 70-85%典型
- 吞吐量: 1000+个请求/分钟
- 正常运行时间: 99.9%SLA
使用Prometheus指标进行监控:
- 请求计数和错误率
- 持续时间直方图(P50、P95、P99)
- 高速缓存性能
- 平台健康
🔐 安全考虑
✅ 公共存储安全
此代码库是为公开发布而设计的:
- ✅ 没有硬编码凭据
- ✅ 内置秘密编辑功能
- ✅ 环境变量配置
- ✅ 只读操作
- ✅ 审计日志
⚠️ 部署前
-
永不承诺:
- API令牌或凭据
- 私钥或证书
- 内部URL或主机名
- 客户数据或日志
-
使用环境变量:
export JENKINS_TOKEN="..." export GITHUB_TOKEN="..." -
启用审核日志记录:
export SENTINEL_AUDIT_LOG="/var/log/sentinel-ci/audit.log" -
共享前查看日志:
grep -i "password\|token\|secret" logs/
看 docs/security.md 完整的指南。
🤝 贡献
我们热爱贡献!无论是:
- 🐛 错误报告
- 💡 功能请求
- 📝 文档改进
- 🔧 代码贡献
- 🎨 UI/UX增强功能
请参阅 贡献.md 作为指导方针。
添加新的CI平台
- 创建
mcps/<platform>/client.py实施AbstractCIClient - 在中添加测试
tests/test_<platform>.py - 更新文档
- 提交PR!
🗺️ 路线图
v1.0✅ (已完成-2026年1月)
- ✅ Jenkins支持
- ✅ GitHub操作支持
- ✅ GitLab CI支持
- ✅ 缓存和指标
- ✅ 秘密编辑
- ✅ GitHub页面文档
- ✅ MkDocs材质主题,暗模式
- ✅ 通过GitHub操作自动部署
v1.1(2026年第二季度)
- 🔜 构建触发(经批准)
- 🔜 实时监控(WebSocket)
- 🔜 高级分析
- 🔜 自定义仪表板
v2.0(2026年第三季度)
- 🔜 通用CI(HTTP适配器)
- 🔜 CircleCI支持
- 🔜 Travis CI支持
- 🔜 Azure DevOps支持
- 🔜 多租户技术
- 🔜 基于角色的访问控制
📜 许可证
MIT许可证-请参阅 许可证 了解详情。
🙏 致谢
💬 社区
制作于❤️ 哨兵CI团队
