共用方式為


將 npm 項目連線至 Azure Artifacts

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Artifacts 可讓開發人員管理來自各種來源的套件,包括像 npmjs.com 這樣的公共註冊表和私人源。 若要向 Azure Artifacts 進行驗證,您必須設定 npm 組態檔。 此檔案包含 npm 所使用的摘要 URL 和認證、提供自定義 npm 用戶端行為的選項,例如設定 Proxy、定義預設套件位置,或設定私人套件摘要。 .npmrc 檔案通常位於使用者的主目錄中,但也可以在專案層級建立以覆寫默認設定。

先決條件

連接到訂閱源

Azure Artifacts 建議使用兩個不同的組態檔。 第一個是專門用來向 Azure Artifacts 進行驗證,而第二個應該保留在本機以儲存您的認證。 這種方法可讓您共用組態檔,同時保護您的認證。

若要設定第二個檔案,只要將它放在開發電腦上的主目錄中,並包含您的所有登錄認證即可。 這可讓 npm 用戶端輕鬆地存取您的認證以進行驗證。

下列步驟將引導您設定第一個組態檔。 選擇對應你的開發環境的索引標籤:

注意

Azure DevOps Server 不支援 vsts-npm-auth

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

  2. 選取 [成品],然後選取 [連接至 Feed]。

    顯示如何在 Azure DevOps Services 中連線到摘要的螢幕快照。

  3. 從左側邊欄中選取 [npm]。 如果這是第一次搭配 npm 使用 Azure Artifacts,請確定您已安裝必要條件。

  4. 請遵循 專案設定 一節中的指示,連線到您的資料源。

    顯示如何設定 npm 項目的螢幕快照。

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

  2. 選取 [成品],然後選取 [連線至提要]。

    顯示如何在 Azure DevOps Server 2022.1 中連線到摘要的螢幕快照。

  3. 從左側提要欄位中選取 [npm],然後依照 Project 安裝程式 區段中的指示來設定組態檔。

    顯示如何在 Azure DevOps Server 2022.1 中設定 npm 項目的螢幕快照。

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

  2. 選取 [工件],然後選取 [連線到提要]。

    顯示如何在 Azure DevOps Server 2020.1 中連線至訊息源的螢幕快照。

  3. 從左側選取 [npm],然後依照 Project 安裝程式 中的指示設定組態檔。

    顯示如何在 Azure DevOps Server 2020.1 中設定 npm 項目的螢幕快照。

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

  2. 選取 [工件],然後選取 [連線到饋送]。

    顯示如何在 Azure DevOps Server 2019.1 中連線到匯入的螢幕擷取畫面。

  3. 隨即會出現新的視窗。 從左側導航窗格中,選取 npm

  4. 請遵循提供的指示來設定 專案的 .npmrc 檔案,以及 使用者的 .npmrc 檔案。

    顯示如何在 Azure DevOps Server 2019.1 中設定專案層級和使用者層級 npmrc 檔案的螢幕快照。

提示

在 .npmrc 檔案中,可以使用多個註冊表,並且支援 範圍上游來源

管線驗證

若要進行管線驗證,Azure Artifacts 建議使用 npm 認證工作

使用 gulp 或 Grunt 等工作執行器時,它會在管線開頭設定 npm 驗證工作 的優先順序。 此步驟可確保您的認證會插入您的專案的 .npmrc 檔案,並在整個管道運行過程中保留,使後續步驟能存取組態檔中的認證。

  1. 流覽至您的項目,選取 [管線],然後選取您的管線定義。

  2. 選取 [編輯 ],以修改管線

  3. 選取 [+],將新工作新增至管線。

    顯示如何將 npm 驗證工作新增至管線的螢幕快照。

  1. 流覽至您的項目,選取 [管線>組建],然後選取您的組建定義。

  2. 選擇 編輯 來修改您的組建管線。

  3. 選取 [+],將新任務新增至您的建置管線。

    顯示如何將 npm 驗證工作新增至管線的螢幕快照。

  1. 搜尋 [npm Authenticate] 工作,然後選取 [Add]。

    顯示在管線中加入的 npm 認證任務的螢幕快照。

  2. 選取 .npmrc 檔案,然後完成後選取 儲存至佇列 &

    顯示如何新增 *.npmrc* 檔案的螢幕快照。

注意

若要從您的管線存取 Feed,請確保建置服務角色已設定為 Feed 和上游讀取者(貢獻者),於設定的 Feed設定>許可權中。

顯示饋送設置中構建服務角色的螢幕快照。

注意

如果您的組織使用防火牆或 Proxy 伺服器,請確定您允許適當的網域 URL。 如需詳細資訊,請參閱 允許的IP位址和網域URL

疑難排解

無法辨識 vsts-npm-auth

此錯誤表示 npm modules 資料夾尚未新增至您的路徑。 重新執行 Node.js 設定,並確定選取 [Add to PATH] 選項。 或者,您也可以將 path 變數修改為命令提示字元中的 %APPDATA%\npm,或在 PowerShell 中 $env:APPDATA\npm,將 npm modules 資料夾新增至您的路徑。

顯示如何設定 node.js的螢幕快照。

無法驗證

  • 錯誤:代碼 E401 npm ERR!無法驗證: -> 使用 -F 旗標執行 vsts-npm-auth 命令,以重新驗證:

    vsts-npm-auth -config .npmrc -F
    

重設 vsts-npm-auth

請遵循下列步驟來重設 vsts-npm-auth 認證:

  1. 移除 vsts-npm-auth:

    npm uninstall -g vsts-npm-auth
    
  2. 清除 npm 快取:

    npm cache clean --force
    
  3. 刪除 .npmrc 檔案。

  4. 重新安裝 vsts-npm-auth:

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

無法發佈

如果您遇到 403 錯誤,則可能表示名稱衝突。 在 Azure Artifacts 中,套件是不可變的,這表示一旦您將套件發佈至摘要,就會永久保留其版本號碼。 即使您刪除它,也無法發佈具有相同版本號碼的新套件。 若要解決此問題,請更新 package.json 檔案中的套件版本,然後再試一次。