JFrog Artifactory 中的本地仓库、远程仓库、虚拟仓库有什么区别

问题描述 投票:0回答:2

有人可以解释一下 JFrog Artifactory 中这 3 种类型的存储库是什么吗 - 本地、远程和虚拟。我没有从 JFrog Artifactory 文档中获得清晰的图片。

https://www.jfrog.com/confluence/display/RTF/Configuring+Repositories

artifactory
2个回答
12
投票
  • 本地存储库是物理的、本地管理的存储库,您可以在其中部署工件。
  • 远程存储库充当在远程 URL 管理的存储库(其本身可能是另一个 Artifactory 远程存储库)的缓存代理。
    根据控制缓存和代理行为的各种配置参数,工件在远程存储库中存储和更新。您可以从远程存储库缓存中删除工件,但实际上无法将新工件部署到远程存储库中。
  • 虚拟存储库(或“存储库组”)将多个具有相同包类型的存储库聚合在一个公共 URL 下。

8
投票

我的看法是这样的(从Maven/Java/Intelli J用户的角度写的):

远程仓库:

想想公司中大量开发人员从 Maven 中心拉取 Artefacts 的案例。它会在互联网上产生大量网络流量,或者您可能有限制此行为的策略。为了解决这个问题,我们在 Artifactory 中创建一个远程存储库,它的作用类似于 Maven 中心的代理和本地缓存。现在,Maven 可以从 Artifactory 中的远程存储库中提取 Artefacts,并且 Artifactory 将从 Maven Central 中提取它们。这也使 Artifactory 能够扫描文物并可能根据漏洞采取行动。

本地仓库:

因此,您已经将一堆工件下载到本地项目中,构建了自己的代码,并希望将其打包并提供给公司中的其他人使用。这就是本地存储库发挥作用的地方。这是部署您自己的工件的地方。

虚拟仓库:

想想公司中的其他人想要在他们的项目中使用您的 Artefact,但他们也需要 Maven Central 的东西。他们需要从 2 个存储库中提取数据。使用虚拟存储库,您可以有效地将 2 个或更多存储库合并到一个虚拟存储库中。对于开发人员来说,他们只看到单个存储库,但在它下面可能是本地和远程存储库。如果您想组合多个远程存储库,这也很有用,例如我见过像 Splunk 和 MapR 这样的公司有自己的存储库。以前我需要将这些不同的存储库添加到我的 POM 文件中。现在我可以在 Artifactory 中创建一个新的远程存储库并将该存储库添加到我的虚拟存储库中。

© www.soinside.com 2019 - 2024. All rights reserved.