如何在 Nexus Repository 的 NPM server 下載與上傳套件

之前筆記 如何在 Nexus Repository 的 NuGet server 下載與上傳套件 提到因為 Nexus Repository server 的用量太高,造成服務中斷,進而影響到 CI/CD 流程,團隊的開發進度也多少受到影響,所以決定啟用多個 Nexus Repository server 以分散 server 的 loading,之前筆記已經紀錄如何在 Nexus Repository 的 NuGet server 下載與上傳套件,今天就來紀錄 NPM 的部分。

基本環境說明

  • macOS Sequoia 15.0.1 (Apple M2 Pro)
  • OrbStack 1.7.5 (18165)
  • NPM 10.8.2
  • container images

    • sonatype/nexus3:3.73.0
  • 使用 docker-compose 來建立 Nexus Repository

    • 8081 是 ui port
  • NEXUS NPM 設定

    1npmrepo

下載與上傳套件

  1. 下載套件

  2. 上傳套件

    • 使用 npm

    • 使用 curl

心得

相較於 NuGet,npm 在 NEXUS 官方文件上資源完整許多,網路上的資源也多了不少

完整程式碼請參考 GitHub:yowko/nexus-migrate

參考資料

  1. 如何在 Nexus Repository 的 NuGet server 下載與上傳套件
  2. 使用自建Nexus server作為NPM的Registry 倉庫
  3. npm Security
  4. How to set npm credentials using npm login without reading from stdin?
  5. How to upload npm tgz to nexus3
  6. Publishing npm Packages
  7. GitHub:yowko/nexus-migrate