首页/开发/CI/CD 与发布速查/超时控制(Timeout)
流水线设计54 条

超时控制(Timeout)

为作业与流水线设置超时:挂死构建不会无限占用资源,排队与告警也更可靠。

CI/CD 与发布速查开发更新于 2026-10-12
GitLab作业 timeout 继承项目设置(可覆盖),Runner 也有独立超时
GitHubjobs.<id>.timeout-minutes(默认 360 分钟)
Jenkinsoptions { timeout(time: 30, unit: 'MINUTES') }

GitHub

GitHub
jobs:
  e2e:
    timeout-minutes: 30

GitLab

GitLab
e2e:
  timeout: 30 minutes
  script: ./ci/e2e.sh
超时值按 P99 时长上浮设定;触发超时后先看是否真的变慢,而非直接调大。

易错点

  • 超时过长(如 6 小时):Runner 被挂死作业占满,队列雪崩
  • 超时时间与告警脱节:告警按更短阈值发,避免无效等待

数据来源与参考

  • GitHub Docs《Workflow syntax for GitHub Actions》
  • GitLab Docs《Job timeout》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌