私はセルフホスティングのNuGetを検討してきましたが、NuGetのセットアップ方法と、開発プロセスのサポートにどのように役立つかを理解するのに苦労していました。
どちらを使用するか、どのように設定するかについて、誰かが推奨事項を持っていますか?
それとも、ホステッドサービスを使用する必要がありますか?
私はセルフホスティングのNuGetを検討してきましたが、NuGetのセットアップ方法と、開発プロセスのサポートにどのように役立つかを理解するのに苦労していました。
どちらを使用するか、どのように設定するかについて、誰かが推奨事項を持っていますか?
それとも、ホステッドサービスを使用する必要がありますか?
さまざまなソリューション (自己ホスト型およびホスト型サービス) を検討した後、ProGetを使用することにしました。
ProGet の概要
ProGet には、標準の「無料」ライセンスと、エンタープライズ バージョンのわずかなライセンス料 (単年および永久) があります。現在、標準の「無料」バージョンを使用しており、実際の苦情はありません. 必要な数のフィードを作成したり、必要な数のユーザーを追加したりできます (品質保証プロセスの一部として「テスト」、「ステージング」、および「本番」フィードを作成しました)。無料版では、ProGet フィードに含めたい特定のパッケージの外部フィードをフィルタリングできないことです。このフィルタリング機能は「コネクタ」で管理されます。エンタープライズ バージョンでは、フィードを作成するときに、必要に応じて "コネクタ" を追加して、他のフィード (外部または内部) からパッケージを取り込むことができます。
ProGet with Nuget パッケージの管理と作成
nuget パッケージ自体を作成する手順については、David Ebbo の人気ブログ投稿http://blog.davidebbo.com/2011/04/easy-way-to-publish-nuget-packages-with.htmlに任せます。ただし、パッケージをアップロードする場合は、ProGet パッケージ管理 Web UI、コマンドライン nuget.exe、またはNuget Package Explorerを介してアップロードできることに注意してください。
ProGet のインストール、構成、およびアクティベーション
ProGet のインストール、構成、アクティブ化は、最も直感的でない部分でした。通常の SQL Server データベースまたは SQL Server Express db を使用してインストールできます。さらに、自己ホスト型アプリにすることも、IIS で実行することもできます。オフライン アクティベーションを実行する必要がある場合、または別のライセンス キーを要求する場合は、my.inedo.comにアクセスしてアカウントを作成すると、そこからすべてを実行できます。
Proget 品質管理と CI
TeamCity を使用した CI が必要になるため、TeamCity の Nuget サーバーを使用して Nuget パッケージのビルド プロセスを作成することを検討しています。コメントに投稿するパッケージを作成するためのハウツーがあります。次のステップは、TeamCity で作成された nuget パッケージを適切な ProGet フィード (つまり、「テスト」、「ステージング」、「本番」) に自動的に公開することです。おそらく、コマンドライン Nuget と API キーを使用します。
さらに詳しい情報
私たちは MyGet をホストされたサービスと見なしましたが、別の投稿者/ユーザーを追加するなどの単純なシナリオではつまずくように見えました。また、2 つ以上の寄稿者アカウントが必要になると、価格がかなり跳ね上がりました。一方、ProGet では、無料版だけで無制限のユーザー アカウントを取得できます。
もう 1 つ補足: OSS タイプのプロジェクト/パッケージを公開する場合、解決策としてChocolateyを検討します。
セルフ ホスティングのもう 1 つのオプションは、NuGet.Server パッケージを使用し、それを内部ネットワークでホストする IIS Web サイトを作成することです。
これらのパフォーマンスの問題を修正するために、Lucene.Net インデックスを使用する NuGet.Server のフォークを作成しました。ダウンロードはhttps://github.com/themotleyfool/Klondike/releasesから入手できます。
このスレッドを最新の状態に保つために、Visual Studio Team Services にはプレビュー版のパッケージ マネージャーもあります。マーケットプレイスを見る:パッケージ管理
空の Asp.Net Web アプリケーションを作成し、Nuget.Server
Nuget Gallery からインストールできます。これは、IIS で独自の Nuget パッケージを自己ホストする無料のオプションです。ドキュメントを確認する