Travis CI如何缓存Gradle依赖项?

时间:2017-03-24 06:20:50

标签: caching gradle travis-ci

Travis documentation about caching dependencies中,它提到:

  

缓存的目的是使安装特定于语言的依赖项变得简单快捷,因此与Bundler,pip,Composer,npm,Gradle,Maven等工具相关的所有内容都应该放入缓存中。   

安装速度快但下载速度慢的大型文件无法从缓存中受益,因为它们从缓存中下载的时间与原始源相同:

我在Java项目中使用Gradle。

Gradle缓存的似乎是那些.jar文件,它们应属于类别"快速安装"。

所以我的问题是,如果.jar文件安装快但下载速度慢,为什么Travis建议缓存Gradle依赖?

这些好处(就更短的构建时间而言)来自哪里?

1 个答案:

答案 0 :(得分:2)

这是一个很好的问题。我不确定缓存使用的好处,因为我从未测量过S3的下载时间,但它可能更快。

At the end of the linked page他们解释道:

  

如果存储大于几百兆的存档   缓存,你不太可能看到显着的速度提升。

似乎他们认为缓存大量小文件比单独下载更快。

适合此类别的Gradle文件可以快速安装和快速下载。

他们不建议使用缓存来快速安装文件和SLOW下载,如1GB Android的系统映像。

在我看来,他们之所以说这是因为你在这种情况下伤害了他们的S3配额(我不知道这项服务的条款),对你来说可以获得微不足道的好处。