2016-11-08 8 views
0

自己ホストArtifactoryからNuGetパッケージをインストールする際に問題が発生しています。パッケージIDが30以上のユニークなバージョンを取得すると、NuGetのインストールコマンドは最新のバージョンを識別できなくなります。 NuGetのインストールコマンドからログを調べると、2つのWebリクエストを確認できます。Artifactory NuGetが最新のパッケージバージョンをインストールしない

これらのコマンドを実行すると、それぞれ30個のエントリと0個のエントリを持つXMLフィード応答が得られます。 2番目のリクエストの '$ skip'パラメータを30に調整した場合、最新のパッケージが表示されます。

Artifactoryは、80個のエントリを返さないため、NuGet APIのFindPackagesByIdメソッドを正しく実装していませんか?

仕様

  • Artifactoryバージョン4.12.01
  • NuGetコマンドラインバージョン3.4.4.1321
+0

これは仮想リポジトリで発生しますか? –

+1

仮想リポジトリで発生します。 –

答えて

2

は、ローカルおよび仮想Nugetリポジトリとの現在の実装では、ページごとの80件の結果の最大を義務付け。最初のODataフィード応答($ skip paramを持たない最初の要求の場合)は、80以上のバージョンのパッケージがあれば80エントリを返すことができます。

複数の異なるリポジトリに単一のパッケージ(同じパッケージID)が含まれている場合、およびそれらのリポジトリを集約する仮想リポジトリを介して要求が送信されたときに、Artifactoryが現在認識している問題を認識しています。単一のパッケージに80以上のバージョンがある場合、Artifactoryは最初の応答で$ skip = 80のページネーションリンクを返します。問題はArtifactory(間違って)は、特定のパッケージIDが仮想リポジトリの下の1つのリポジトリにしか存在しないと仮定し、$ skip = nを集約されたすべてのreposに1つずつ送信するので、skip = 1は実際には、 skip = 2は実際には4をスキップし、skip = nは本質的にskip = 2nになります。このバグは、ここで報告され、今後数ヶ月の間に固定されます。

https://www.jfrog.com/jira/browse/RTFACT-12379

これはあなたの問題のような音しない場合は、インストールしようとしているパッケージのために存在するどのように多くのバージョンで共有しますかしてください仮想リポジトリを使用しているかどうか、および同じパッケージが対応する仮想リポジトリの下の複数のリポジトリに存在するかどうかを示します。

RTFACT-12379が修正されるまでは、バージョン80を超えるパッケージをインストールするために仮想リポジトリを使用していないか、より多くのバージョンに特定のパッケージが存在しないことを確認する1つのリポジトリよりも

+1

これは仮想リポジトリを使用しているときに発生しますが、これは私の状況と全く同じようには聞こえません。最初のクエリではスキップパラメータは指定されませんが、34個のパッケージから30個のエントリしか返されません。パッケージは、仮想リポジトリの3つのうちの1つのリポジトリにのみ存在します。仮想リポジトリは、パッケージをホスティングするローカルリポジトリを指すリモートリポジトリを指し示します。 $ skip = 30を指定した場合は、他の4つのパッケージが表示されます。 –

+0

@MatthewRyanこれらのパッケージをホストするリモートエンドポイントはArtifactoryエンドポイントですか?はいの場合は、Artifatoryのバージョンを知っていますか?古いArtifactoryバージョンではページサイズを30 IIRCに制限していたので私は尋ねています。私は、同じFindPackagesById()リクエストを使用して、そのエンドポイントのローカルリポジトリを直接照会して、最初のページで最大30の結果を返すかどうかを確認します。また、サーバ上のリモートリポジトリ(仮想ではない)に直接問い合わせを行い、正しい$ skipの値が30かどうかを確認してください。 –

+0

これはおそらく問題であるようです。 2つのArtifactoryインスタンスが異なるメジャーバージョンにアップグレードされるようになっています。リモートリポジトリは、 "$ skiptoken"の使用を続行するためにパッケージの明示的なバージョンを指定する代わりに "$ skip"を使用しません。 –

関連する問題