3

仕事では、数年前から Nexus OSS 1.8.0 を使用しています。最近、私 (Nexus 管理者) は、インスタンスにいくつのアーティファクトがあるかを尋ねられました。これは非常に単純な質問ですが、私の人生ではどこにも答えを見つけることができません。

  • Nexus の UI、Google、またはここで見つけることができませんでした。
  • Nexus の REST API を見ると、検索エンドポイント ( two実際には、data_indexは現在廃止されています) があり、クエリが生成した結果の数 (フィールドtotalCount ) も返されますが、単に検索する方法がわかりませんでした。すべての場合: 空のパラメーターを指定すると、400 応答が返されます。

私たちが持っている多くのアーティファクトの合理的な見積もりを提供しました。今のところはそれで十分ですが、必要以上に多くの作業が必要でした... 誰か同じ問題を抱えていましたか?


アップデート:

(Maven Central などからの外部依存関係とは対照的に) 内部アーティファクトの数を知る必要があったため、GET することになりました。

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 アーティファクトのみをカウントしますが、通常、Nexus に保存されているファイルの大部分を占めます。

于 2012-09-10T18:43:50.757 に答える
1

マークが提案したことは問題ありませんが、代わりにsha1ファイルをカウントすると、ネクサスがすべてのアーティファクトのアップロード時にそのファイルを作成するため、より正確なカウントが得られます.

于 2012-09-13T13:34:00.080 に答える