私は自分の組織にまともな参照管理を導入しようとしています。以前にMavenでNexusを使用したことがあるので、ローカルで構築する方法よりもはるかに優れていることがわかっていますすべて。これは.Netショップなので、Mavenの代わりにNuGetを使用したいと思います。バイナリリポジトリが正しく機能するための最も重要なビットになることは知っていますが、バイナリリポジトリでNuGetリポジトリをホストした経験はありません。
この状況でNexusまたはArtifactoryを支持する理由はありますか?違いがあれば、CIとしてsvnを使用してJenkinsを使用しています。
これは、ArtifactoryとNexusのNuGetサポートを前回比較したときにわかったことです(免責事項-私はJFrogを使用しています)。
Artifactoryでは、NuGetサポートが製品に自然に統合されているため、管理がはるかに簡単になります。ローカルリポジトリをNuGet対応としてマークするか、リモートリポジトリのリモートURLを設定するだけです。複数のNuGetリポジトリは、単一の仮想NuGetリポジトリに簡単に集約できます。Artifactoryの他のリポジトリで使用されているのと同じアプローチです。 Nexusでは、新しいタイプのリポジトリを定義し、新しい専用のセキュリティレルムを設定する必要があります。また、NuGetリクエストに応答するために既存のリポジトリが必要な場合は、それに特別なファサードを追加する必要があります。これはNexusの一般的なアプローチであり、すべての新しいタイプのリポジトリ(P2など)でマルチレベルの構成変更が必要です。
NexusUIにはNuGetパッケージの統合はまったくありません。管理と保守に不可欠なNUGetアーティファクトを検索することもできません(そのため、Visual Studioからのみ検索するだけでは不十分です)。これは主に、NexusがMavenとMavenレイアウトを重視しているためです。 Artifactoryでは、他のアーティファクトと同様にNuGetパッケージを検索および管理できます。 nuspecメタデータからの情報を表示することができます Iで さらに、NuPkgパッケージの下の個々のファイルのコンテンツにドリルダウンして、それらのコンテンツを検査することもできます。
Artifactoryではセキュリティ統合も簡単です。特別なキーを手動で生成する必要はありませんが、キーはユーザー名とパスワードの組み合わせ、または安全なパスワードです。これは、ユーザーのNuGetパスワードをArtifactoryのMS-AD/LDAP統合と同期させたい場合に最適です。 Nexusでは、NuGetは分離されたセキュリティレルムを使用します。
Artifactoryは、より難解でありながら便利なユースケースを含む、NuGet検索の全範囲を実装します。基盤となる実装では、メモリ内キャッシュと永続的で事前に計算された検索可能なプロパティの組み合わせを使用して、NuGetクエリが非常に高速でスケーラブルであることを確認します。巨大なリポジトリの場合でも。 Nexusが同様の最適化を使用しているかどうかはわかりません。
それがお役に立てば幸いです。
PS。 NuGetサポートはArtifactoryのProバージョンの一部であり、Nexus OSSに無料で含まれています 2014年9月以降 。
NexusはNuGetをサポートしており、NuGetリポジトリを直接ホストまたはプロキシできます。見てください ここ 。
私はMavenとNexusのファンなので、偏見があります。 Artifactoryを使用しました。これは優れたツールですが、当時はNexusの方がはるかに優れていることがわかりました。 NuGet機能はOSSバージョンでも利用できると思いますが、それを再確認することをお勧めします。
NexusがArtifactoryよりも優れている理由とその理由については議論しません。それは公平ではなく、炎上戦争を引き起こすだけだからです。私自身の理由は次のとおりです。Sonatypeの人たちはMaven、Nexus、MavenCentralの背後にいます。これは彼らを物事の中心に置くので、彼らの知識はこれらのツールの内部とそれらの相互運用性に関して常により深いでしょう。
Nexusに精通していて快適な場合は、率直に言って、切り替える理由はありません。ただし、自分で決めることができます。見てください ここ 。