使用OSS软件镜像Maven存储库(尝试使用Artifactory OSS)



现状的快速概述:

  • 我有一个托管在不同位置的企业专家存储库
  • 与上述存储库的互联网连接相当缓慢
  • 我想在我的网站上托管一个缓存/镜像,这样我和我的团队就可以更快地下载依赖项
  • 我们有一个突出的依赖项,因为它的大小为8GB,这意味着仅下载就需要大约40分钟

所以我尝试使用Artifactory OSS,但是:

  • 官方的"存储库复制"功能被锁定在>=3000美元/年的付费墙后面。它基本上与以某种方式主动缓存的"远程存储库"相同。Sonatetype Nexus OSS的情况基本相同
  • 我通常可以在Artifactory中使用一个简单的"远程存储库",但它的行为很奇怪
  • 预期功能是客户端从指向场外实际服务器的现场Artifactory远程存储库请求依赖项。如果没有缓存,则现场服务器会从非现场服务器下载。然后由现场服务器提供给客户端
  • 当请求一个大的依赖项时,现场服务器开始下载,大约30秒后,客户端获得套接字超时,并停止整个gradle构建
  • 有一个名为"本地存储"的选项,当停用时,它会将请求转发到场外服务器,并且根本不缓存
  • 我希望现场服务器在请求依赖项时开始缓存,但响应此服务器上不存在依赖项(导致客户端查看非现场服务器(,或者像禁用"本地存储"时一样将请求转发到非现场服务器

毕竟我不确定问题出在哪里。我必须以不同的方式配置Artifactory或Gradle吗?还有其他东西可以用来制作镜子吗?一个完全可以接受的解决方案是每晚运行一个复制脚本,但我更喜欢使用Artifactory OSS来解决它。

我相对确信,无论是Artifactory还是Nexus,您想要的都是不可能的。

你的要求很不寻常。我认为20MB的依赖关系是"大"的,我从未见过超过100MB的依赖。你8GB的东西不是罐子,对吧?Nexus/Aartifactory不是为这种东西而设计的。

首先,我会质疑8GB的问题。它是什么?为什么它这么大?

如果无法更改,我会定期在构建服务器上运行mvn dependency:get或类似的程序。这样,你的现场Artifactory/Nexus(通常(会有相关的版本,你的构建不会超时。

最新更新