在有关缓存依赖项的Travis文档中,它提到:
缓存的目的是使安装特定于语言的依赖关系变得简单和快速,因此与诸如Bundler、pip、Composer、npm、Gradle、Maven等工具相关的所有东西都应该进入缓存。快速安装但下载速度慢的大型文件不能从缓存中获益,因为从缓存下载的时间与从原始源下载的时间一样长:
我在Java项目中使用Gradle。
看来Gradle缓存的是那些.jar文件,它们应该属于“快速安装”类别。
所以我的问题是,如果.jar文件安装速度快,下载速度慢,为什么Travis建议缓存Gradle依赖项?
这些好处(在缩短构建时间方面)从何而来?
发布于 2017-03-27 22:50:54
这是个好问题。我不确定缓存使用的好处,因为我从未测量过S3的下载时间,但它可能更快。
他们解释说,在链接页的末尾:
如果在缓存中存储大于几百兆字节的档案,则不太可能看到明显的速度提高。
似乎他们考虑更快地缓存许多小文件,而不是独立下载它们。
这个类别中的Gradle文件安装速度快,下载速度快。
他们不建议像1GB的Android系统映像那样,使用缓存来快速安装文件,并且下载速度慢。
在我看来,他们这么说是因为你损害了他们的S3配额(我不知道这项服务的条款),而在这种情况下,对你的好处微不足道。
https://stackoverflow.com/questions/42992699
复制相似问题