SuperAPI AI 工具集

monitor-pipeline

部署与运维

查看项目

更新于 10-16 06:57

技能介绍

用途

monitor-pipeline 用于持续监控 GitLab CI/CD 流水线或指定作业,直到其进入终态(成功、失败、取消或跳过)。它会在状态发生变化时实时报告,并在作业失败时立即通知用户,附带详细错误信息。

主要能力

  • 获取流水线或作业的初始状态。
  • 按固定间隔轮询状态(默认 15 秒,最小 5 秒,最大 300 秒)。
  • 检测状态变化并输出更新,展示已完成与剩余作业的进度。
  • 当作业失败时,自动抓取该作业日志并立即报告失败详情。
  • 当流水线或作业到达终态时干净退出。
  • 支持监控整个流水线或通过 --job 参数监控单个作业。

使用方式

命令格式:

/monitor-pipeline <project-id> <pipeline-id> [--job <job-id>] [--interval <seconds>]

参数说明:

  • project-id(必填):数字项目 ID 或 URL 编码路径。
  • pipeline-id(必填):要监控的流水线 ID。
  • --job(可选):指定要监控的作业 ID,而非整个流水线。
  • --interval(可选):轮询间隔秒数,默认 15,最小 5,最大 300。

示例:

监控整个流水线: /monitor-pipeline 456 1234

监控特定作业: /monitor-pipeline 456 1234 --job 5678

自定义轮询间隔: /monitor-pipeline 456 1234 --interval 30

适用场景

  • 在合并请求触发流水线后,跟踪构建、测试、部署各阶段进度。
  • 只关心某个关键作业(如生产部署)时,单独监控该作业。
  • 需要第一时间获知失败并查看错误日志,以便快速修复。

限制与前提

  • 需要配置 GitLab MCP 服务器。
  • 需要对目标项目有访问权限。
  • 需要有效的流水线 ID(可从 MR 或项目流水线列表获取)。
  • 监控采用轮询方式,非事件推送,状态更新存在间隔延迟。
  • 可通过 Ctrl+C 取消监控。

终态与状态指示

终态包括:success(全部成功)、failed(一个或多个作业失败)、canceled(手动取消)、skipped(规则未满足而跳过)。状态图标:✓ 成功、✗ 失败、⏳ 运行中、⏸️ 等待、⏭️ 跳过、⊘ 取消。

错误处理

  • API 错误:使用指数退避重试。
  • 网络问题:报告连接问题并继续监控。
  • 无效 ID:立即退出并给出提示。
  • 权限不足:报告访问问题并建议检查权限。

相关命令

  • /view-pipeline:一次性查看流水线状态快照。
  • /create-mr:创建触发流水线的 MR。
  • /review-mr:审查 MR 并包含流水线状态。