はじめに
Azure DevOpsシリーズの一つ、Azure Artifactsではプライベートなnpmレジストリを作成することができ、企業など組織内でインターナルに使用したいパッケージをホストすることができます。しかし特に設定を行わないと作成したプライベートレジストリにホストされたパッケージしかインストールすることができなくなります。(以下引用参照)
そこでAzure ArtifactsにはUpstream sourceと呼ばれる設定があり、それを使用するとパブリックなレジストリ(e.g. npmjs)とプライベートレジストリをマージしてプライベート/パブリックどちらのレジストリも使用することができます。
npmクライアントは単一の優先レジストリ(Azure Artifactsではfeedと呼ばれる)で動作するように設計されています。また、セカンダリスコープのレジストリもサポートされています。スコープレジストリは、名前がスコーププレフィックスで始まるパッケージのインストールにしか使用できないため、使用方法はより制限されています。作成したプライベートパッケージとnpmjs.comのパブリックパッケージの両方を使用したい場合は、アップストリームソースを使用することをお勧めします。
方法
Azure Artifactsのドキュメントの通りに設定します。
新規でfeedを作成する場合
- 新しいfeedを作成します。その際"Use packages from public sources through this feed" のラジオボタンを選択します。
既存feedにアップストリームソースを設定する方法
- 右上にあるfeed設定を開いて歯車アイコンを選択してfeedの編集を行います。
- Upstream sourcesを選択します。
- CommandBarでAdd upstream sourceを選択します。
- Select a feed URLでnpmjs.com ( https://registry.npmjs.org )を選択します。お好みで名前をカスタマイズできます。
- Addを選択します。