5.4 构建系统与依赖管理
构建系统把源代码变成可测试、可发布、可重复的东西。依赖管理决定哪些外部代码成为你系统的一部分。
二者都是工程风险控制。
正在加载交互实验...
正在加载概念检查...
构建系统
构建系统可能会编译代码、运行测试、打包资源、生成类型、打包制品、构建容器,并计算一次改动影响哪些工作。
在更大的系统中,好的构建设计提供:
- 可复现:同样输入产生同样输出。
- 增量性:未变化工作不重复执行。
- 隔离性:本机环境怪癖不决定生产行为。
- 可追溯:制品能连接回源代码版本。
- 信心:测试和检查按可预测顺序运行。
如果“在我机器上可以”很常见,构建还没有成为团队系统。
依赖管理
依赖节省时间,也带来风险。每个依赖都有:
- API 兼容风险。
- 安全和供应链风险。
- 许可证风险。
- 维护风险。
- 传递依赖风险。
- 升级和回滚成本。
锁文件、changelog 评审、自动漏洞扫描、分阶段升级不是官僚流程。它们是团队防止外部代码悄悄变成生产风险的方法。
正在加载交互实验...
正在加载概念检查...
实用升级清单
升级重要依赖前先问:
- 为什么需要升级?
- 公共 API 改了什么?
- 哪些模块和测试受影响?
- 锁文件变化是否符合预期?
- 是否有安全公告或迁移指南?
- 能否在没有数据不兼容的情况下回滚?
- 哪个生产指标能暴露问题?
构建和依赖工作通常不耀眼。它是让团队安全移动的安静基础设施。
正在加载本节练习...