Java 构建缓慢—未设置有效缓存目录

问题说明

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

如果您未设置正确的缓存目录,会导致您每次进行 Java 构建时,即使您的依赖文件未发生任何变化,都会下载您项目所有的构建依赖。典型现象如下:

  • 即使运行多次后,依然需要耗时很久

    三次构建均耗时较长
  • 即使运行多次后,依然要下载大量的构建依赖

    第三次构建依然在下载大量的构建依赖

加速方案

如果您的情况是以下任意一种:

  • 没有使用企业自定义的settings.xml(代码库根目录 or 企业自定义 Maven 配置)

  • 使用了企业自定义的settings.xml(代码库根目录 or 企业自定义 Maven 配置),但settings.xml中不包含自定义缓存目录节点 <localRepository></localRepository>

请在 流水线编排 -> 变量与缓存 中添加 Maven 缓存目录/root/.m2

注意

缓存目录填写正确且开关开启。

设置 Maven 缓存目录

提速效果

增加缓存目录的流水线,只会在第一次构建时下载您所需的依赖文件,后续构建会直接从缓存中加载依赖。

项目的依赖文件越多,缓存的加速效果越明显。

后两次构建均耗时降低