--- title: "コネクタの概要" order: 2 hidden: true ---
コネクタは、ProGet のフィードに外部のソースからパッケージを取り寄せる機能です。
NuGet.orgなどのパブリックギャラリー、または Azure DevOps Packages や Artifactory などの別のサードパーティパッケージソース、別のProGetフィードなどが、コネクタのソースとして利用し、パッケージを取り寄せられます。
「わざわざコネクタやフィードを通さなくても、直接 NuGet.org などからパッケージをダウンロードできるし、なんでそんな面倒なことをするの?」と思うかもしれません。
ここでは、コネクタを利用するメリットや、コネクタを利用しないことの危険性を説明します。
開発者が直接 NuGet.org などに直接アクセスして、オープンソースのパッケージをダウンロードできると、脆弱性のあるパッケージや、GPL や GNU などのライセンスのパッケージが開発中の製品に混入する可能性があります。
社内の規定で、脆弱性のあるパッケージを使わないことや、GPL や GNU、あるいは不明なライセンスを使わないことを、研修と罰則で徹底しようとしても、それでも納期が近い時などは、プロセスが守られない場合もあります。
オープンソースのリポジトリ(フィード)への直接アクセスを禁止し、ProGet のコネクタを通じて、ライセンスの検知と、脆弱性スキャンなどのコンプライアンスに合格したパッケージのみを、開発者がダウンロードできるように設定すれば、これらのリスクはゼロになります。
現状では、開発者が、NuGet.org、Rubygems.org、そして社内のファイルサーバや、バージョン管理システムなどにある、パッケージやライブラリから、必要なパッケージを探しているでしょう。
複数のフィードを、一か所にまとめることで、必要なパッケージを探す手間がなくなり、よりアジャイルな開発が可能になります。
金融、政府、軍事など、セキュリティとコンプライアンスが厳しい業界では、開発者がインターネットにアクセスできないこともあります。または、ファイアウォールの制限により npmjs.org など、一部のサードパーティのWebサイトにアクセスできない場合あるでしょう。
ProGet のサーバは、社内にあり、サードパーティのパッケージがキャッシュされているので、社内ネットワークで、サードパーティのパッケージを検索・ダウンロードできます。
NuGet Update-Package コマンドが遅いと感じたことはありませんか?
プロジェクトが大規模化し、更新するパッケージの数が増えれば、パッケージのダウンロードや更新に数分どころか数時間かかることすらあります。
パッケージとメタデータをローカルにキャッシュして、パッケージを再ダウンロードするための待機時間をなくします。
NuGet.org などから直接パッケージをダウンロードせずに、ProGet で管理をすれば、パッケージのダウンロード統計、トラッキング、ロードバランスなど、様々な機能が使えます。
コネクタを作成した後、コネクタからパッケージを取得する前に、コネクタを1つ以上のフィードに関連付ける必要があります。
これを行うには、[Manage Feed (フィードの管理)] ページで [add connector (コネクタの追加)] をクリックして、コネクタを選択します。コネクタからのパッケージは、すぐにフィードで利用できるようになります。
ProGet 5.3 以降、コネクタは特定のフィード内に作成され、そのフィードに自動的に関連付けられます。
コネクタに関連付けられているフィードを変更する必要がある場合:
コネクタ画面からコネクタを完全に削除できます。[Feeds (フィード)] > [Connector (コネクタ)] です。
セルフコネクタは、ProGet の同じインスタンスを参照するコネクタです。 これらは次のメリットがあります。
セルフコネクタの作成に必要なURLは、ソースフィードの「Feed Overview (フィードの概要)」ページにあります。
ProGetは、パッケージとメタデータのキャッシュします。パッケージはすでに ProGet にあるため、ProGet でパッケージとメタデータをキャッシュすると、クエリが減り、待機時間が短縮されます。
パッケージキャッシュはフィードレベルで構成されます。有効にすると、パッケージキャッシュは、関連するフィードにダウンロードされた、すべてのコネクタパッケージのコピーを保存します。パッケージは引き続き UI にコネクタパッケージとして表示されますが、外部パッケージソースにアクセスできない場合でも利用できます。パッケージのキャッシュはデフォルトで有効になっており、ProGetのすべてのエディションに含まれています。
メタデータキャッシュはコネクタレベルで設定されます。有効にすると、メタデータキャッシュは、最近使用されたクエリの応答をコネクタのソースに保存します。たとえば、ツールが ProGet フィードにパッケージの最新バージョンを照会する場合があるため、ProGet はフィードの各コネクタに最新バージョンを照会する必要があります。メタデータキャッシュを有効にすると、パフォーマンスが大幅に向上します。ただし、これには、潜在的に古いクエリが犠牲になります。メタデータキャッシュは、ProGet 有料エディションでのみ使用できます。
コネクタフィルターは、信頼できるパッケージ名( "JQuery"や "Microsoft。*"など)を自動的に含み、受け入れられないパッケージ名をブロックすることで、サードパーティのパッケージをキュレートするのに役立ちます。そのため、パッケージ(およびバージョン)の承認プロセスが楽になります。
コネクタフィルターを追加するには:
[Manage Feed (フィードの管理)] ページに移動します。 [Connectors & Replication (コネクタとレプリケーション)] タブを選択します。 目的のコネクタ名を選択します。 [Add Filter (フィルターの追加)] をクリックし、フィルターの詳細を入力して、[Allow (許可)] または [Block (ブロック)] を選択します。