Java 构建缓慢—删除缓存文件

问题说明

由于 Flow 流水线执行时,每个任务节点都会创建新的构建环境,构建完后会销毁,为解决流水线运行过程中,构建依赖反复下载的问题,提升整体构建效率,Flow 提供了自定义缓存功能。用户可以自定义自己的缓存目录,实现流水线任务多次运行的缓存共享

当您在构建指令中使用rm -rf删除了部分缓存文件,会导致您每次构建过程中都会反复下载依赖文件,从而导致构建缓慢。

加速方案

如果您是担心依赖的 snapshot 包更新后,流水线无法及时拉取,可以修改您的构建指令如下:

mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip -U

在构建指令中添加-U的作用:

  • 对于 release 版本,缓存中已经存在,则不会重复下载

  • 对于 snapshots 版本,不管缓存中是否存在,都会强制刷新,但是刷新并不意味着把jar重新下载一遍。只下载几个比较小的文件,通过这几个小文件确定本地和远程仓库的版本是否一致,再决定是否下载