將 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 檔案通常位於使用者的主目錄中,但也可以在專案層級建立以覆寫默認設定。 藉由修改 .npmrc 檔案,用戶可以個人化其 npm 體驗,以符合其特定需求。

必要條件

專案設定

如需最佳做法,建議您使用兩個不同的組態檔。 第一個用於向 Azure Artifacts 進行驗證,而第二個會儲存在本機並保存您的認證。

若要設定第二個檔案,只要將它放在開發電腦上的主目錄中,並包含所有登錄認證即可。 如此一來,npm 用戶端就可以輕鬆地存取您的認證以進行驗證,讓您共用組態檔,同時保護您的認證安全。

下列步驟將引導您設定第一個組態檔:

注意

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

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

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

    顯示如何連線至摘要的螢幕快照。

  3. 從左側瀏覽窗格中選取 npm

  4. 如果這是第一次搭配 npm 使用 Azure Artifacts,請選取 [取得工具 ],並依照指示安裝必要條件。

  5. 請遵循 Project 安裝程式中的指示來連線到您的摘要。

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

  1. 選取您的集合,然後流覽至您的專案。

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

    顯示如何在 Azure DevOps Server 2022.1 中聯機至摘要的螢幕快照。

  3. 從左側瀏覽窗格中選取 npm

  4. 如果這是第一次搭配 npm 使用 Azure Artifacts,請選取 [取得工具 ],並依照指示安裝必要條件。

  5. 請遵循 Project 安裝程式中的指示來設定您的組態檔。

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

  1. 選取您的集合,然後流覽至您的專案。

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

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

  3. 從左側瀏覽窗格中選取 npm

  4. 如果這是第一次搭配 npm 使用 Azure Artifacts,請選取 [取得工具 ],並依照指示安裝必要條件。

  5. 請遵循 Project 安裝程式中的指示來設定您的組態檔。

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

  1. 選取您的集合,然後流覽至您的專案。

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

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

  3. 會出現新視窗。 從左側瀏覽窗格中,選取 [npm]。

  4. 請遵循指示來設定項目使用者 .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 驗證工作,然後選取 [新增]。

    此螢幕快照顯示已新增至管線的 npm 驗證工作。

  2. 選取您的 .npmrc 檔案,然後在完成時選取 [ 儲存和佇列 ]。

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

注意

若要讓管線存取您的摘要,請確定建置服務角色已設定為摘要設定中的摘要和上游讀取器(參與者)。

顯示摘要設定中組建服務角色的螢幕快照。

注意

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

疑難排解

無法辨識 vsts-npm-auth

如果您在項目執行期間遇到下列錯誤:

  • Cmd: 'vsts-npm-auth' is not recognized as an internal or external command, operable program or batch file.

  • PowerShell:vsts-npm-auth : The term 'vsts-npm-auth' is not recognized as the name of a cmdlet, function, script file, or operable program.

然後,npm modules 資料夾可能尚未新增至您的路徑。 若要解決此問題,請重新執行Node.js設定,並確定選取 Add to PATH 選項。

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

或者,您也可以在命令提示字元或 $env:APPDATA\npm PowerShell 中將 PATH 變數修改為 %APPDATA%\npm ,將 npm modules 資料夾新增至路徑。

無法驗證

如果您遇到 E401 錯誤: code E401 npm ERR! Unable to authenticatevsts-npm-auth使用 -F 旗標執行命令以重新驗證。

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