CI環境:一行命令登錄npm倉庫


寫在前邊

簡單介紹下:如何在Jenkins等CI環境中使用Npm訪問需要認證的倉庫。

使用 npm login 交互式的輸入用戶名、密碼、郵箱的方式不適合CI環境,使用延遲輸入、管道重定向、expect 命令等方式,需要對安裝軟件或者在倉庫響應慢的情況下,也容易登錄失敗。

本文將帶你使用 authToken 的方式,一行命令直接登錄指定npm倉庫。

獲取authToken

authToken 是 npm 用戶登陸倉庫時,由npm倉庫生成返回給客戶端,記錄到客戶端的 ~/.npmrc

首先,設置 npm 倉庫

npm set registry <registry-url>

交互式登錄倉庫,輸入用戶名、密碼、郵箱

npm login

登錄完成后,打開用戶目錄的 .npmrc,Linux在 ~/.npmrc, Windows在 C:\Users\<用戶名>\.npmrc中,找到 <registry-url> 對應倉庫地址,如圖

倉庫認證地址前協議被去除,即以 // 開頭

將上圖中 _authToken= 后引號中間的字符串復制,此為登錄用戶的 認證token

修改腳本中登錄npm倉庫命令

以 Jenkinsfile 中腳本舉例,其它類似。

npm config set //<registry-url>/:_authToken <authToken>

上圖的 ${NPM_AUTH_TOKEN} 在腳本中環境變量處定義,取的 secret text 憑據串

通過以上簡單的方式即可完成一行命令登錄npm倉庫。我們下次更新再見。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM