Skip to content

11.11 CI/CD 与质量门禁 ​

概述

质量门禁收敛为一条命令:make check(fmt-check + vet + test-short + check-config)。CI 流水线围绕它组织,辅以前端检查与构建产物验证。

make check 组成 ​

检查内容
fmt-checkgofmt 格式(不合规即失败)
vetgo vet 静态分析
test-short短测试(跳过外部依赖,无 MySQL 的 CI 可跑)
check-configconfig.yaml 与 .env.example 键一致性硬检查
bash
make check          # 本地提交前必跑
make.bat check      # Windows

本地有 MySQL 时再跑全量 make test(集成测试)。

推荐 CI 流水线 ​

text
① 检出代码
② Go 环境 + make check           ← 后端门禁
③ pnpm install + pnpm type:check + pnpm lint:eslint   ← 前端门禁
④ pnpm build(验证产物可构建)
⑤ go build ./...(验证全量编译)
⑥ 产物归档(二进制 + dist/)
⑦ 部署ステージ(测试环境自动、生产人工确认)

门禁设计原则 ​

原则落地
快test-short 不碰外部依赖,门禁分钟级
硬check-config 硬检查配置一致性,杜绝"配置漂移上线"
可本地复现CI 跑的就是 make check,无隐藏规则
生成器友好生成产物同样过 fmt/vet——模板质量受门禁约束

部署自动化建议 ​

  • 测试环境:push 分支自动构建部署
  • 生产环境:tag 触发 + 人工审批
  • 回滚:保留历史产物,一键切回(systemd 二进制替换 / compose 镜像回退)
  • 数据库变更:独立评审的增量脚本步骤,不混在应用部署里

相关 ​

小蚂蚁云团队 · 提供技术支持