是否需要 Nexus Repository 3 blob 存储设置?

Is Nexus Repository 3 blob store setup necessary?

我正在配置 Nexus Repository 3,目前我已经创建了两个不同的 blob 存储:defaultdocker

default由maven和NuGet组成

docker由docker组成(很明显)。

以这种方式存储存储库有什么好处吗?

我应该将所有内容都保存在一个 blob 存储中吗?

根据我的经验,Blobstore 配置的设置主要取决于以下内容。

  1. 您的 NXRM3 实例中的存储库数量。
  2. 存储库格式(Maven、NPM 等)。
  3. 人工制品的版本。更准确地说,如果存储库即将存储 snapshotsrelease 人工制品。

以我拙见,以下选择并不是最佳选择。

  1. 所有存储库都映射到一个 blobstore 或其中的几个(n:1 映射)。
  2. 每个存储库一个 blobstore(1:1 映射)。

首先,您在安排任务时会有很多开销。特别是 Compact blob storeRebuild Maven repository metadata。其次,您将有大量计划任务需要配置。

我们的 NXRM3 存储库主要由 Maven 工件组成。因此我们决定创建三个独立的 blobstores。

  1. Blobstore 绑定 hosted 存储库与 Maven releases.
  2. Blobstore 绑定 hosted 存储库与 Maven snapshots.
  3. Blobstore 绑定 proxy 存储库与 Maven 人工制品。

随着 Jenkins 上的每次构建,我们的快照存储库的内容变化非常快。因此,我们每天安排重建索引、删除快照和压缩 blobstore 的任务。在其他 blobstore 上,任务每周安排一次。

我相信没有关于应该如何配置 blobstores 的通用答案。我的建议是尽量减少计划任务的时间 运行,将代理和托管存储库的 blobstores 分开。一定要考虑在您的 blobstore 中进行快照和发布推送和弹出操作。