自动化测试、构建、缓存与产物管理
CI/CD、云服务器与生产运维#Python全栈#第二十阶段#CI与CD、云服务器与生产运维#自动化测试、构建、缓存与产物管理约 805 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
怎样在干净 Runner 中安装并验证 Python 与前端依赖?
追问 解释器、锁文件、包源与系统库怎样固定?为什么不能依赖构建机曾经手工安装过的工具和虚拟环境?
矩阵测试适合覆盖哪些环境,怎样控制运行成本?
追问 Python 版本、操作系统和数据库类型怎样选择?什么时候需要组合测试,什么时候重复组合只增加时间而没有新增风险覆盖?
依赖缓存与发布产物有什么区别?
追问 pip/npm 缓存、测试报告和镜像分别怎样保存?为什么缓存未命中不应导致功能失败,也不应把可变缓存直接当作唯一发布依据?
缓存键与恢复范围应怎样设计?
追问 操作系统、解释器和锁文件变化怎样影响键?过宽恢复、过期数据与不可信分支写入缓存会造成什么问题?
接口集成测试需要数据库或 Redis 时,流水线怎样准备依赖?
追问 服务容器、连接地址、就绪与测试数据怎样组织?任务在 Runner 上或容器里执行时,服务名称和端口有什么不同?
怎样让测试失败真正阻断构建与发布?
追问 退出码、管道命令、条件表达式与 continue-on-error 怎样影响结果?测试未收集、关键组被跳过时怎样明确提示?
前端和后端构建产物怎样验证后再归档?
追问 接口约定、资源清单、版本信息和镜像启动怎样检查?为什么编译成功不等于 API 地址和实际运行入口正确?
任务失败时,怎样仍然保留测试报告与诊断产物?
追问 上传条件、路径、保留期与产物大小怎样设置?日志、Trace 和配置片段中哪些内容需要脱敏,避免诊断材料泄漏凭据?
本地通过、CI 失败时,应怎样比较环境?
追问 依赖版本、时区、权限、并行数据和服务启动时间怎样核对?如何缩小到可复现命令,而不是只增加重跑次数?
流水线变慢,怎样区分下载、测试、构建和排队成本?
追问 缓存、分组并行和复用产物分别能减少什么?Runner 配额、服务资源与无意义重复检查怎样影响总体交付时间?
缓存核对资料: GitHub Actions:Dependency caching。