首页/开发/CI/CD 与发布速查/测试通过门禁与失败策略
质量门禁与回滚51 条

测试通过门禁与失败策略

测试阶段作为发布前置条件:单元与集成测试通过才进入构建与部署;对已知的辅助类作业单独标记允许失败,避免掩盖真实回归。

CI/CD 与发布速查开发更新于 2026-10-12
阻断规则测试失败即停止后续阶段
允许失败GitLab allow_failure、GitHub continue-on-error,仅用于非阻断项
超时为作业设置 timeout,防止挂起占用并发
重试仅对基础设施类失败配置有限次重试

GitLab:测试门禁与允许失败

GitLab:测试门禁与允许失败
unit-test:
  stage: test
  script: pytest -q
  timeout: 20m

lint-report:
  stage: test
  script: flake8 src || true
  allow_failure: true
对测试作业配置自动重试会掩盖真实回归:重试只应用于网络下载、镜像拉取等外部依赖。

易错点

  • 全量作业都加允许失败:流水线长期全绿,缺陷进入生产
  • 测试挂起无超时:占用 runner 并发直到被人工取消

数据来源与参考

  • GitLab Docs《CI/CD YAML syntax reference》(allow_failure)
  • GitHub Docs《Workflow syntax》(continue-on-error)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌