缓存与缓存失效
缓存失效常见情况
- 如何使用缓存目录。
- 构建计划配置「变量与缓存」「缓存目录」 未勾选或设置错误。
- 缓存太大,标准版本为 2Gi,高级版为 10Gi。
- 自定义构建环境,没有设置容器目录和宿主机目录进行映射。
常见案例
勾选了【Maven】 缓存,但是缓存还是失效
- 是否使用了自定义构建环境,如果使用了是否配置了目录映射。
- 缓存的目录是否确认是 /root/.m2,可以检查 settings.xml 中的 localRepository 是否被重置。
构建过程在 Dockerfile 缓存不生效,如何解决?
如:Node 后端服务,Dockerfile 中
npm install
,即你的构建过程在 Dockerfile 中,无优化加速解决方案。如:Java + Maven 后端服务,Dockerfile 中
mvn clean package
,即你的构建过程在 Dockerfile 中,优化方案:mvn clean package
放到外层构建,不要放在 Dockerfile 中构建。- 去掉 Dockerfile 中的
mvn clean package
。 - 修改 Dockerfile ,将外层构建的 jar 包 COPY 进来。
如:Vue、React 前端服务,Dockerfile 中
npm run build
,即你的构建过程在啊 Dockerfile 中,优化方案:npm run build
放到外层构建,不要放在 Dockerfile 中构建。- 去掉 Dockerfile 中的
npm run build
。 - 修改 Dockerfile ,将外层构建的 dist 目录COPY 进来。
总结: docker build 进行依赖安装,依赖是无法被缓存的。需要改造成宿主机先编译,再将产物通过 COPY 来制作 Docker 镜像参考。
问题反馈 >

感谢反馈有用
感谢反馈没用
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。