網站導覽
目錄
在 CI/CD 工作流程中使用私人套件
目錄
您可以使用存取權杖,使用持續整合 (CI) 系統測試私人 npm 套件,或使用持續部署 (CD) 系統部署這些套件。
建立新的存取權杖
建立新的存取權杖,僅用於從 CI/CD 伺服器存取 npm 套件。
持續整合
在持續整合環境中產生存取權杖時,我們建議使用具有受限存取權限的細緻存取權杖,以提供更高的安全性。
如果您改用舊式權杖,預設情況下,npm token create
會產生同時具有讀取和寫入權限的權杖。我們建議建立唯讀權杖
npm token create --read-only
如需有關建立存取權杖的更多資訊,包括 CIDR 白名單權杖,請參閱「建立存取權杖」。
持續部署
由於持續部署環境通常涉及建立部署成品,您可能希望在網站上建立自動化權杖。這將允許您在帳戶啟用雙重驗證的情況下進行發布。
互動式工作流程
如果您的工作流程產生套件,但您在驗證後手動發布,則您需要建立具有讀取和寫入權限的權杖,這些權限會透過標準權杖建立指令授予
npm token create
CIDR 白名單
為了提高安全性,您可以使用 CIDR 白名單權杖,只能從特定 IP 位址範圍使用。您可以將 CIDR 白名單與讀取和發布權杖或唯讀權杖搭配使用
npm token create --cidr=[list]npm token create --read-only --cidr=[list]
範例
npm token create --cidr=192.0.2.0/24
如需更多資訊,請參閱「建立和檢視驗證權杖」。
將權杖設為 CI/CD 伺服器上的環境變數
在您的 CI/CD 伺服器中,將您的權杖設定為環境變數或機密。
例如,在 GitHub Actions 中,您會將您的權杖新增為機密。然後,您可以讓工作流程使用該機密。
如果您將機密命名為 NPM_TOKEN
,則您會想要從該機密建立名為 NPM_TOKEN
的環境變數。
steps:- run: |npm install- env:NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
請參閱您的 CI/CD 伺服器的文件,以取得更多詳細資訊。
建立並簽入專案特定的 .npmrc 檔案
使用專案特定的 .npmrc
檔案,其中包含權杖變數,以使用 npm 安全地驗證您的 CI/CD 伺服器。
-
在專案的根目錄中,建立自訂
.npmrc
檔案,其內容如下//registry.npmjs.org/:_authToken=${NPM_TOKEN}
注意:您正在指定
${NPM_TOKEN}
的文字值。npm cli 會以NPM_TOKEN
環境變數的內容取代此值。不要將代碼放入此檔案中。 -
請檢查
.npmrc
檔案。
保護您的權杖
您的代碼可能具有讀取私人套件、代表您發布新套件或變更使用者或套件設定的權限。請保護您的代碼。
請勿將您的代碼加入版本控制或不安全地儲存。請將其儲存在密碼管理員、您的雲端供應商的安全儲存空間或您的 CI/CD 供應商的安全儲存空間中。
如果可能,請使用具有最低必要權限的細緻存取代碼,並為您的代碼設定較短的到期日。如需更多資訊,請參閱「關於存取代碼」。