首页/开发/CI/CD 与发布速查/流水线通知与告警
流水线设计54 条

流水线通知与告警

把流水线状态推到人所在的地方(群机器人、邮件、MR 评论),按「需要行动」分级避免噪声淹没信号。

CI/CD 与发布速查开发更新于 2026-10-13

流水线通知是什么

流水线通知把 CI/CD 的状态推到人所在的地方——企业群机器人、邮件、MR 评论或看板。设计的核心不是「发得更多」而是分级:失败必达、恢复可选、成功降频汇总,避免噪声淹没真正需要行动的信号。它的最终目标是缩短「失败发生」到「有人接手」之间的时间差。

基本信息

适用平台GitLab CI、GitHub Actions、Jenkins 等均支持邮件与 Webhook
通道邮件、企业群机器人(钉钉/企业微信/Slack)、MR/PR 评论、看板告警
分级失败必达;恢复通知可选;成功与日常工作用汇总降频
对象默认分支与发布流水线全量通知,特性分支按需

典型使用场景

  • 主干守护:默认分支失败第一时间触达提交者与值班人
  • 发布跟踪:生产部署结果通报到发布群,附版本号与变更链接
  • MR 反馈:把测试失败以评论回写 MR,作者不离开评审界面就能修
  • 值班升级:红灯超过阈值自动升级通知负责人,避免「没人看见」
  • 每日汇总:低频团队用一张日报收口所有流水线动态
  • 跨系统联动:对接到值班系统或工单,失败自动开单、恢复自动关单

GitLab 流水线通知作业

GitLab 流水线通知作业
notify:token:
  stage: notify
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push"
  script: ./ci/send-notify.sh  # 脚本内调群机器人 webhook,消息带流水线链接与责任人

分级策略对照

事件是否推送说明
主干流水线失败必推直通提交者与值班,附日志链接
失败恢复(转绿)推荐推让值班者知道问题已消除
特性分支失败按需一般只回写 MR 评论,不进群
日常成功汇总每日一报或看板呈现,不逐条推
通知里带上「下一步动作」链接(日志、重跑入口、责任人),比只报「失败了」有效得多。
失败与恢复要配对发送:只发失败不发恢复,值班者无法判断问题是否已自行消失,会催生「狼来了」式的忽视。
给通知加去重键(流水线 ID + 状态):同一问题重复触发时更新原消息而不是反复刷屏,恢复时同一线程里补一条即可。

易错点

  • 全量通知轰炸:所有人屏蔽通知,等于没有通知
  • 只有失败通知没有恢复通知:值班者无法判断是否已自行消失
  • Webhook 消息携带原始日志或环境变量:变量里的 Token 可能泄漏到群里,发送前先脱敏
  • 把成功也逐条推送:需要行动的信号被稀释,重要失败反而被忽略

数据来源与参考

  • GitLab Docs《Pipeline settings》
  • GitHub Docs《Notifications》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌