gpt4 book ai didi

gradle - 在Gradle Docker镜像中运行时,如何避免Gradle包装器下载发行版?

转载 作者:行者123 更新时间:2023-12-03 03:56:32 26 4
gpt4 key购买 nike

我的项目是使用gradlew构建的。 GitLab CI在带有正式Gradle镜像的docker运行程序中构建项目(请参阅https://hub.docker.com/_/gradle)。

现在即使Gradle已安装在cointainer中,包装器仍会每次下载该发行版。这占了构建时间的大部分。

我如何“告诉”包装器有关已安装的发行版的信息,以便它不会重新下载它(当然,假设版本匹配)?

当然,替代方法是在CI中使用gradle而不是gradlew并依靠docker镜像来拥有正确的发行版,但我想尽可能避免这种情况,因为那时我将不得不手动保持.gitlab-ci.yml和wrapper配置同步。

最佳答案

我认为您无法指示包装程序使用手动安装的本地版本的Gradle。

我可以想到的唯一一种避免在每个版本上下载发行版的方法是在缓存Gradle主文件夹(例如/home/gradle/.gradle)时不进行任何其他升级Gradle的步骤。即使它位于Docker容器中也应该可行。

我不知道GitLab如何支持缓存的详细信息,但是只有当缓存存储在本地(在同一台机器上或在具有高网络带宽的缓存服务器中)时,才有意义。如果必须在每个版本中从S3存储桶之类的文件进行上传和下载,则可能需要花费与从services.gradle.org下载该文件一样的时间。但是,如果您可以进行这项工作,那么不仅可以缓存Gradle发行版,还可以缓存构建依赖关系,这将进一步加快构建速度。

关于gradle - 在Gradle Docker镜像中运行时,如何避免Gradle包装器下载发行版?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58096540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com