Edited at

Azure ArtifactsでnpmのPrivateレジストリを作成して、さらにPublicレジストリも使う方法


はじめに

Azure DevOpsシリーズの一つ、Azure Artifactsではプライベートなnpmレジストリを作成することができ、企業など組織内でインターナルに使用したいパッケージをホストすることができます。しかし特に設定を行わないと作成したプライベートレジストリにホストされたパッケージしかインストールすることができなくなります。(以下引用参照)

そこでAzure ArtifactsにはUpstream sourceと呼ばれる設定があり、それを使用するとパブリックなレジストリ(e.g. npmjs)とプライベートレジストリをマージしてプライベート/パブリックどちらのレジストリも使用することができます。


npmクライアントは単一の優先レジストリ(Azure Artifactsではfeedと呼ばれる)で動作するように設計されています。また、セカンダリスコープのレジストリもサポートされています。スコープレジストリは、名前がスコーププレフィックスで始まるパッケージのインストールにしか使用できないため、使用方法はより制限されています。作成したプライベートパッケージとnpmjs.comのパブリックパッケージの両方を使用したい場合は、アップストリームソースを使用することをお勧めします。


MS Doc- Azure Artifactsから抜粋


方法

Azure Artifactsのドキュメントの通りに設定します。


新規でfeedを作成する場合


  1. 新しいfeedを作成します。その際"Use packages from public sources through this feed" のラジオボタンを選択します。


既存feedにアップストリームソースを設定する方法


  1. 右上にあるfeed設定を開いて歯車アイコンを選択してfeedの編集を行います。

  2. Upstream sourcesを選択します。

  3. CommandBarでAdd upstream sourceを選択します。

  4. Select a feed URLでnpmjs.com ( https://registry.npmjs.org )を選択します。お好みで名前をカスタマイズできます。

  5. Addを選択します。