在 Artifact Registry 中存储 Node.js 软件包
本快速入门介绍如何设置私有 Artifact Registry Node.js 软件包代码库并向其上传软件包。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Artifact Registry API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Artifact Registry API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- 如果您想从以下位置连接到 Node.js 软件包代码库,请安装 PowerShell 窗户。
启动 Cloud Shell
在本快速入门中,您将使用 Cloud Shell,这是一个用于管理 Google Cloud 上托管资源的 Shell 环境。
Cloud Shell 预装了 Google Cloud CLI。gcloud CLI 为 Google Cloud 提供了主要的命令行界面。
启动 Cloud Shell:
转到 Google Cloud 控制台。
在 Google Cloud 控制台工具栏中,点击激活 Cloud Shell:
控制台下方的框架内会打开一个 Cloud Shell 会话。您可以使用此 shell 运行 gcloud
命令。
创建 Node.js 软件包代码库
为 Node.js 工件创建代码库。
创建代码库。
控制台
打开 Google Cloud 控制台中的制品库页面。
点击创建代码库。
指定
quickstart-nodejs-repo
作为该代码库的名称。选择 npm 作为格式,选择标准作为模式。
在位置类型下,选择区域,然后选择位置
us-central1
。点击创建。
该代码库会被添加到代码库列表中
gcloud
运行以下命令新建名为
quickstart-nodejs-repo
(地点:us-central1
) 说明“Node.js 代码库”。gcloud artifacts repositories create quickstart-nodejs-repo --repository-format=npm \ --location=us-central1 --description="Node.js package repository"
运行以下命令确认已创建代码库。
gcloud artifacts repositories list
如需详细了解 Artifact Registry 命令,请运行
gcloud artifacts
命令。为了简化
gcloud
命令,请将默认代码库设置为quickstart-nodejs-repo
,并将默认位置设置为us-central1
。设置以上值之后,您无需在需要代码库或位置的gcloud
命令中指定这些值。如需设置代码库,请运行以下命令:
gcloud config set artifacts/repository quickstart-nodejs-repo
如需设置位置,请运行以下命令:
gcloud config set artifacts/location us-central1
如需详细了解这些命令,请参阅 gcloud config set 文档。
配置 npm
如需上传和下载软件包,您必须使用以下命令配置 npm 项目 使用您创建的代码库进行身份验证在本快速入门中,您将上传一个简单的软件包,然后将其作为依赖项安装到第二个软件包中。
下载 emoji-regex 软件包,这是一个简单的软件包, 提供正则表达式以匹配所有表情符号符号和序列。
npm pack emoji-regex
该命令会下载软件包的归档。
将归档解压缩到
emoji-regex
目录中。以下命令是 以获取emoji-regex
10.1.0 版本的归档:mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1
创建第二个 npm 软件包,用于从 Artifact Registry 安装
emoji-regex
软件包。对于此软件包,请使用npm init
命令创建基本软件包。mkdir npm-package2 cd npm-package2 npm init -y
出现提示时,请接受默认值。
将
emoji-regex
和npm-package2
项目配置为使用您创建的 Artifact Registry 制品库进行身份验证。运行以下命令。该命令会返回要添加到 npm 配置文件的配置设置。
gcloud artifacts print-settings npm --scope=@quickstart
quickstart
scope 与您的代码库相关联。当您在发布或安装软件包的命令中添加范围时,npm 会使用您的代码库。时间 如果您在未指定范围的情况下发布或安装软件包,则配置的默认值 代码库。如需了解详情,请参阅 Node.js 概览。gcloud
命令的输出类似于以下示例。 PROJECT 是您的 Google Cloud 项目 ID。@quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/ //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:always-auth=true
将上一步中的配置设置添加到每个 npm 项目的项目
.npmrc
文件中。该文件位于package.json
文件所在的目录中。如需详细了解
.npmrc
文件,请参阅 Node.js 概览。每个 Artifact Registry Node.js 软件包代码库都与一个 npm 注册表端点
https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY
相关联。如果您创建另一个 Artifact Registry Node.js 软件包代码库,则 npm 将作为一个具有自己范围的单独注册表与该代码库进行交互。
在
emoji-regex
和npm-package2
项目中修改package.json
。确保
name
的值包含quickstart
作用域。- 对于
emoji-regex
:
"name": "@quickstart/emoji-regex"
- 对于
npm-package2
:
"name": "@quickstart/npm-package2"
- 对于
在
scripts
下,为以下各项添加脚本: google-artifactregistry-auth,一个客户端库 用于更新 Artifact Registry 代码库凭据的功能。"scripts": { "artifactregistry-login": "npx google-artifactregistry-auth" }
将软件包上传到代码库
请刷新用于连接到代码库的访问令牌。
npm run artifactregistry-login
将您的软件包添加到代码库。您可以使用
npm
或yarn
命令。npm publish
yarn publish
查看代码库中的软件包
如需验证您的软件包是否已添加到代码库中,请执行以下操作:
控制台
打开 Google Cloud 控制台中的制品库页面。
在代码库列表中,点击
quickstart-nodejs-repo
代码库。软件包页面列出代码库中的软件包。
点击软件包以查看软件包版本。
gcloud
如需列出默认 quickstart-nodejs-repo
代码库中的映像,请运行以下命令:
gcloud artifacts packages list
如需查看软件包的版本,请运行以下命令:
gcloud artifacts versions list --package=PACKAGE
其中,PACKAGE 是软件包 ID。
安装软件包
安装 Artifact Registry 代码库中的 emoji-regex
软件包
在 npm-package2
中。
在 npm-package2
目录中,运行 npm install
或 yarn add
命令:
npm install @quickstart/emoji-regex
yarn add @quickstart/emoji-regex
该命令会在 npm-package2
项目中安装 emoji-regex
软件包。它还会更新 package.json
,将 emoji-regex
设置为依赖项。
"dependencies": {
"@quickstart/emoji-regex": "^10.1.0"
}
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
在移除代码库之前,请确保要保留的任何软件包在其他位置提供。
如需删除代码库,请执行以下操作:
控制台
打开 Google Cloud 控制台中的制品库页面。
在代码库列表中,选择
quickstart-nodejs-repo
代码库。点击删除。
gcloud
如需删除
quickstart-nodejs-repo
代码库,请运行以下命令:gcloud artifacts repositories delete quickstart-nodejs-repo
如果要移除您为活跃
gcloud
配置配置的默认代码库和位置设置,请运行以下命令:gcloud config unset artifacts/repository gcloud config unset artifacts/location
后续步骤
- 详细了解如何配置身份验证
- 了解如何管理代码库
- 了解如何管理软件包
- 阅读我们关于 DevOps 的资源,并了解我们的研究项目。