我们的自动化验证与自动值守体系

hideeee · 2026-10-12 · 自动化交付

「代码写完了」和「代码真的能上线」之间,隔着一段大多数外包交付里靠运气填补的距离。 我们选择用机器把这段距离铺满:每次 push 先过 83 项自动验收,全绿才允许部署; 上线之后,编排与执行双模型轮流值守。这篇文章把体系拆开讲一遍。

一次 push 背后发生了什么

以 dcc.vedio 企业视频培训平台为例,开发者执行 git push 之后,流水线自动跑完以下环节:

环节内容典型耗时
门 1 · 验收门禁verify.js all:83 项检查逐项断言,任何一项失败 = 不放行约 2 分钟
前端构建web + admin 双端 Vite 构建,构建失败同样不放行约 3 分钟
镜像构建推送服务端打镜像、推私有镜像仓(git-sha 双 tag 可追溯)约 1 分钟
自动部署Node B 容器以 sha 精确 tag 起新版本约 1 分钟
探活 + 前端同步/api/health 探活通过后,dist 原子切换至边缘节点约 1 分钟

全程 6–10 分钟,线上生效。回滚同样简单:换一个 tag,或者边缘节点的 .old 目录秒切。

83 项检查都查什么

验收门禁不是「跑通就算过」,而是把产品的验收标准固化成断言。当前 30 个检查模块覆盖:

设计原则:只增不减。每个新功能必须同步追加它的验收检查,禁止为了「绿灯」弱化任何一条。 检查的历史修订全部留在 git 记录里,可追溯。

双模型编排:Pro 决策,Flash 执行

验证体系之外,值守体系解决「上线之后谁来盯」的问题:

红线很明确:AI 可以发现问题、给出方案、固化脚本,但生产的写操作永远由人审批。 这条红线不是对 AI 的不信任,而是把「责任归属」焊死在流程里——出了任何事,都有一个人、一条审计记录。

这套体系的真实记录

$ node scripts/verify.js all
[PASS] CH01:2  [PASS] CH02:2  [PASS] CH03:5  [PASS] CH04:4
[PASS] CH05:7  [PASS] CH06:4  [PASS] CH07:4  [PASS] CH08:3
…(30 个模块 / 83 项全部通过)
汇总:83 通过,0 失败

以及一次故意的故障演练:手动停掉 dcc-server 容器,自动值守在分钟内产出诊断记录与恢复建议, 恢复动作由人执行——线上从不可见到恢复,全程有记录可查。

对客户意味着什么

想把这套体系用在您的项目上?来聊聊 →