1. Docker 测试在 GitHub Actions 中卡在“拉镜像 3 分钟,跑测试 20 秒”这个现实我接手一个遗留的 Python 微服务项目时,CI 流水线里最刺眼的一行日志是:Run docker pull ghcr.io/org/service-test:latest ... Status: Downloaded newer image for ghcr.io/org/service-test:latest光这一条就耗时 187 秒。而后续pytest --tb=short实际执行时间只有 23 秒。整个 job 耗时 4 分 12 秒,其中 76% 的时间花在等待网络下载上——不是代码慢,是环境准备太拖沓。更糟的是,这个镜像本身并不大(仅 312MB),但它的构建层极深:基础镜像用python:3.11-slim-bookworm,叠加poetry install生成的 17 层依赖缓存,再加pip install -e .[test]的 5 层开发依赖。每次docker build都从头解压、校验、复制,哪怕只改了一行conftest.py,也要重走全部流程。这不是个例。我们团队三个不同语言栈(Python/Go/Node.js)的项目,在启用 Docker 化测试后,平均 CI 时间增长了 2.3 倍。直到我把actions/cache@v4和docker/build-push-action@v5