3

在工作中,我们已经使用 Nexus OSS 1.8.0 几年了。最近,我(作为 Nexus 管理员)被问到我们的实例中有多少工件。这是一个非常简单的问题,但我一生都无法在任何地方找到答案:

  • 我在 Nexus 的 UI、Google 或这里找不到它;
  • 查看 Nexus 的 REST API,有一个搜索端点(实际上是两个,尽管data_index现在已弃用),它还返回查询产生了多少结果(字段totalCount),除了我还没有弄清楚如何搜索对于一切:提供空参数会产生 400 响应。

我对我们拥有的许多人工制品提供了一个合理的估计,现在这已经足够了,但是我的工作比我认为应该做的要多……有人有同样的问题吗?


更新:

我需要知道我们有多少内部工件(而不是来自 Maven Central 等的外部依赖项),所以我最终得到了:

http://<OUR-NEXUS>/service/local/lucene/search?q=*&repositoryId=<OUR-REPO>

对于每个托管存储库并添加totalCount字段。

对于完整计数,搜索q=*产生了太多结果,所以我跑了:

find $PATH_TO_SONATYPE_HOME | grep sha1 | egrep -v 'nexus-maven-repository-index|repository-metadata|maven-metadata|\.pom\.sha1' | wc -l

但我仍然很惊讶这种类型的信息不容易获得......

4

2 回答 2

2

尝试以下操作:

find $PATH_TO_SONATYPE_HOME -name "*.jar" | wc -l

它只会计算 JAR artfacts 但通常占存储在 Nexus 中的大部分文件

于 2012-09-10T18:43:50.757 回答
1

Mark 的建议是可以的,但如果你计算 sha1 文件,你会得到更准确的计数,因为 nexus 会在上传每个工件时创建该文件。

于 2012-09-13T13:34:00.080 回答