Jenkins 中 Docker 分层构建缓存无效问题如何解决?
資深大佬 : lawsiki 3
背景:
- 本机 macOS,docker 版本:Docker version 19.03.8, build afacb8b
- jenkins 构建服务器 CentOS,docker 版本:Docker version 19.03.12, build 48a66213fe
Jenkins 构建的流程是
- 构建流程使用 Jenkins 的 pipline
- 使用 jenkins 自带的 git 命令拉取指定分支
- maven 打包 jar
- 构建 docker 镜像
- 推送 docker 镜像运行
刚开始使用的是 springboot 的 fatjar,问题就是每次构建推送的时候都要重新打包 100 多 M,很费时
现在想使用 docker 分层镜像缓存的原理,将 maven 构建拆分为 lib 和 app.jar ,这样每次构建只需要几百 k 就够了,本地测试都正常,没有更改依赖的时候,第二次构建都是瞬间完成
但是放到 Jenkins 上跑的时候,发现 14,15 行两个命令并没有走缓存,请问有人碰到过吗?
Dockerfile 
Jenkins 的 git 更新日志 
Jenkins 构建日志 
本地构建日志 
大佬有話說 (4)