Artifact Registry 支援您透過 npm 管理的 Node.js 套件。
總覽
如要熟悉 Artifact Registry 中的 Node.js 套件,可以試試快速入門。
如要進一步瞭解,請參閱以下資訊:
- 如果您是 npm 新手,請參閱以下概念:
- 為套件建立 Node.js 套件存放區。
- 將權限授予將連結至存放區的帳戶。與 Artifact Registry 的常見整合服務帳戶,會針對同一個專案中的存放區提供預設權限。
- 設定工具:
- 為 npm 設定驗證機制。
- 設定 Cloud Build,上傳及下載套件。
- 瞭解如何部署至 Google Cloud 執行階段環境。
- 瞭解如何管理套件。
使用範圍
npm 範圍是用來分組套件的標籤。使用多個 npm 登錄項時,就需要使用範圍,包括:
- 在不同登錄檔中發布及安裝套件,不必從一個登錄檔切換至另一個登錄檔。舉例來說,您的建構作業可能會同時納入公開 npm 登錄和 Artifact Registry 存放區的套件。
- 將相同套件發布至多個 Artifact Registry 存放區 (跨 Google Cloud 專案) 以及其他 npm 註冊中心,且不會發生套件名稱衝突。
建議您一律為存放區設定範圍。如果您在發布或安裝套件時未指定範圍,npm 會使用已設定的預設登錄,例如公開 npm 登錄。
您可以在 .npmrc
設定檔中設定每個 Artifact Registry 存放區的範圍。在各個存放區中使用相同的驗證憑證。
以下範例顯示不同專案中兩個 Artifact Registry 存放區的設定。
@blue
範圍適用於專案blue-project
中的存放區。@green
範圍適用於專案green-project
中的存放區。
@blue:registry=https://us-central1-npm.pkg.dev/blue-project/blue-npm-repo/
//us-central1-npm.pkg.dev/blue-project/blue-npm-repo/:always-auth=true
@green:registry=https://us-central1-npm.pkg.dev/green-project/green-npm-repo/
//us-central1-npm.pkg.dev/green-project/green-npm-repo/:_authToken=""
//us-central1-npm.pkg.dev/green-project/green-npm-repo/:always-auth=true
完成 Artifact Registry 驗證後,您可以使用適當的範圍,將套件上傳至特定存放區。舉例來說,下列指令會將套件上傳至專案 blue-project
中的 blue-npm-repo
:
npm publish @blue/blue-npm-repo
如要進一步瞭解範圍,請參閱 npm 說明文件
設定 npm
用於驗證的設定會儲存在 .npmrc
設定檔中。您可以在專案、使用者或全域層級設定 .npmrc
檔案。
使用 Artifact Registry 設定驗證機制時,您必須定義要連結的存放區,以及驗證機制的憑證。
- Artifact Registry 存放區
建議您在個別專案設定檔中設定存放區清單。這個檔案通常位於 npm 專案中的
package.json
檔案所在的目錄中。根據預設,Artifact Registry 憑證輔助程式會檢查存放區的這個.npmrc
檔案。如果您不想在原始碼控管系統中公開存放區路徑,可以採取以下做法:
- 將
.npmrc
檔案名稱新增至來源控制系統的忽略檔案清單。 - 請改為將存放區清單儲存在個別使用者設定檔中。每個使用者的
.npmrc
檔案位於使用者主目錄中,或透過 npm--userconfig
參數或$NPM_CONFIG_USERCONFIG
環境變數設定。除非您在專案層級覆寫,否則個別使用者設定檔中的設定會套用至所有專案。
- 將
- Artifact Registry 憑證
請將 Artifact Registry 的憑證儲存在個別使用者設定檔中,這樣其他使用者就無法存取。這個檔案位於使用者主目錄中,或透過 npm
--userconfig
參數或$NPM_CONFIG_USERCONFIG
環境變數設定。Artifact Registry 憑證輔助程式會儲存在公開 npm 登錄檔中,安裝時不需要驗證。
您應保留 .npmrc
檔案中設定的任何現有預設登錄。預設值通常會設為 https://registry.npmjs.org/
的公開 npm 登錄。
如要查看目前的預設登錄機碼值,請執行下列指令:
npm get registry
如要進一步瞭解 npm 設定檔,請參閱 npm 設定檔說明文件。