Artifact Registry 支持您通过 npm 管理的 Node.js 软件包。
概览
如需熟悉 Artifact Registry 中的 Node.js 软件包,您可以试用快速入门。
当您准备好了解详情时,请阅读以下信息:
- 如果您刚接触 npm,请阅读以下概念:
- 为软件包创建 Node.js 软件包代码库。
- 向需要授权的账号授予权限 将与代码库建立连接用于常见集成的服务账号 具有 Artifact Registry 的以下项目的默认权限: 多个代码库。
- 配置工具:
- 为 npm 配置身份验证。
- 配置 Cloud Build 以上传和下载软件包。
- 了解如何部署到 Google Cloud 运行时环境。
- 了解如何管理软件包。
使用镜重
npm 范围是用于对软件包进行分组的标签。处理多个 npm 注册表时需要指定范围,其中包括:
- 在不同注册表中发布和安装软件包,无需从一个注册表切换到另一个注册表。例如,您的 build 可能包含来自公共 npm 注册表和 Artifact Registry 代码库的软件包。
- 将相同的软件包发布到各个 Google Cloud 项目的多个 Artifact Registry 代码库以及其他 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-npm-repo
blue-project
:
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 配置文件文档。