gpt4 book ai didi

java - Mirror Maven Repository using OSS Software(尝试使用Artifactory OSS)

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:56 26 4
gpt4 key购买 nike

现状概览:

  • 我有一个托管在不同位置的公司 Maven 存储库
  • 与所述存储库的互联网连接速度很慢
  • 我想在我的站点上托管缓存/镜像,以便我和我的团队可以更快地下载依赖项
  • 我们有一个突出的依赖项,因为它的大小为 8GB,这意味着下载大约需要 40 分钟

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

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

毕竟我不确定问题出在哪里。我是否必须以不同方式配置 Artifactory 或 Gradle?还有什么我可以用来创建镜像的吗?一个完全可以接受的解决方案是每晚运行一个复制脚本,但我更愿意使用 Artifactory OSS 来解决它。

最佳答案

我比较确定,无论是使用 Artifactory 还是 Nexus,您想要的都无法实现。

您的要求很不寻常。我会考虑一个 20MB 的“大”依赖项,而且我从未见过超过 100MB 的依赖项。你的 8GB 东西不是 jar ,对吧? Nexus/Artifactory 不是为这类东西而生的。

首先,我会质疑 8GB 的​​东西。它是什么?为什么这么大?

如果您无法更改它,我会定期在构建服务器上运行 mvn dependency:get 或类似的东西。这样,您的现场 Artifactory/Nexus 将(通常)具有相关版本并且您的构建不会超时。

关于java - Mirror Maven Repository using OSS Software(尝试使用Artifactory OSS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53673743/

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