使用 Azure Artifacts 發佈和下載 npm 套件

Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022

Azure Artifacts 讓開發者能夠從訂閱源或公開登錄檔發佈和下載 npm 套件。

本文將引導你如何建立訂閱源、設定專案,以及發佈和下載 npm 套件。

必要條件

建立資訊流

  1. 登入您的 Azure DevOps 組織,並流覽至您的專案。

  2. 選取 工件,然後選取 建立資訊源。

  3. 請輸入您的資訊流 名稱 。

  4. 選擇 可見性 設定,以控制誰可以檢視摘要中的套件。

  5. 如果你想讓資訊流使用像 nuget.org 或 npmjs.com 這類來源的上游套件,請選擇包含來自常見公開來源的套件。

  6. 在 範圍 中,選擇摘要是限定於目前的專案還是整個組織。

  7. 完成後,選取 建立。

    截圖顯示在 Azure DevOps Services 中建立新訂閱源的選項。

  1. 登入您的 Azure DevOps 伺服器,然後移至您的專案。

  2. 選取 工件,然後選取 建立資訊源。

  3. 請輸入您的資訊流 名稱 。

  4. 選擇 可見性 設定,以控制誰可以檢視摘要中的套件。

  5. 如果你想讓資訊流使用像 nuget.org 或 npmjs.com 這類來源的上游套件,請選擇包含來自常見公開來源的套件。

  6. 在 範圍 中,選擇摘要是限定於目前的專案還是整個組織。

  1. 完成後,選取 建立。

    顯示在 Azure DevOps 2022 中建立新摘要時選項的螢幕擷取畫面。

注意

當您建立摘要時,系統會預設將專案的 建置服務 帳戶(例如 projectName 建置服務 (orgName))指派為 摘要和上游讀取者(共同作業者) 角色。

設定 npm 認證

在連接串流之前,先在你的機器上為 npm 客戶端設定認證。 步驟會依照你的作業系統而異:

Windows 作業系統

安裝 vsts-npm-auth,它會產生並刷新 npm 用來連接 Azure Artifacts feed 的憑證。

npm install -g vsts-npm-auth --registry https://registry.npmjs.com

macOS 和 Linux

vsts-npm-auth macOS 和 Linux 都不支援。 相反地,建立一個帶有 Packaging>讀寫範圍的個人存取權杖(PAT)。 在下一節設定使用者層級的 .npmrc 檔案時,請使用該 PAT。


連接到資訊來源

Azure Artifacts 建議使用兩個不同的組態檔。 第一個應該保留在本機的 $HOME 目錄(Linux/macOS)或 $env.HOME(Windows),以安全地儲存您的憑證。 這可讓 npm 用戶端存取您的認證以進行驗證。

透過這種設定,你可以與團隊共享專案設定,而不會在原始碼控制中暴露憑證。 欲了解更多詳情,請參閱 Connect to an Azure Artifacts feed - npm。

  1. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  2. 選取 [工件],從下拉功能表中選取您的訊息來源,然後選取 [連線至訊息來源]。

  3. 從左側導覽窗格選擇 npm 。

  4. 在 Project 設定中,選擇你的作業系統的 Windows或其他選項,然後依照提供的指示更新你的使用者層級和 project 層級 .npmrc 檔案。

    截圖示範如何設定 npm 專案並連接 Azure DevOps 服務中的串流。

注意

Azure DevOps Server 不支援 vsts-npm-auth。

  1. 登入您的 Azure DevOps 集合,然後流覽至您的專案。

  2. 選取 [工件],從下拉功能表中選取您的訊息來源,然後選取 [連線至訊息來源]。

  3. 從左側導覽窗格選擇 npm 。

  4. 在 Project 設定中,選擇你的作業系統的 Windows或其他選項,然後依照提供的指示更新你的使用者層級和 project 層級 .npmrc 檔案。

    一張顯示如何在 Azure DevOps Server 2022 中設置 npm 專案並連接 Azure Artifacts feed 的截圖。

重要

NPM 只支援 .npmrc 檔案中的單一registry設定。 如果你需要來自多個來源的套件,建議使用 上游來源 或 作用域 ,而不是新增多個 registry 項目。

將套件發佈至您的饋送頻道

注意

要將套件發佈到訂閱源,您必須是 訂閱源發佈者(貢獻者) 或以上資格。 如需詳細資訊,請參閱 管理許可權 。

在發佈套件前,務必與你的訂閱源進行驗證。 如果你尚未完成此步驟,請依照 連線到摘要 一節中的步驟操作,然後繼續閱讀下一節中的指示。

  1. 在你的專案目錄中,執行以下指令,將檔案 package.json 中定義的套件發佈到你的訂閱源:

    npm publish
    

重要

不支援在發佈時使用 publishConfig 屬性來覆寫登錄組態。

從您的資料來源還原套件

在還原套件前,務必與你的訂閱源進行驗證,並更新專案的 .npmrc 檔案。 如果你尚未完成此操作,請先完成 連線到摘要中的步驟,然後再繼續。

  1. 在你的專案目錄中,執行以下指令來還原檔案 package.json 中列出的所有套件:

    npm install
    
  2. 要從 feed 安裝特定套件並在檔案 package.json 中加入依賴,請執行以下指令:

    npm install --save <PACKAGE_NAME>