本页面介绍了以下任务:
- 查看和删除软件包与软件包版本
- 查看、创建、更新和删除标记
软件包管理目前为 Alpha 版。它仅适用于 Alpha 版用户,可能不包含容器管理可用的所有特性。若要申请 Alpha 版,请填写注册表单。
准备工作
- 如果目标代码库不存在,请创建新代码库。
- 验证您是否拥有访问代码库所需的权限。
- 为 npm 配置身份验证。
- (可选)为 gcloud 命令配置默认值。
添加软件包
您只能发布一次特定版本的软件包。这是 npm 限制,用于确保已发布的软件包版本的内容始终相同。因此,您不能:
- 通过将软件包版本再次发布到代码库来覆盖此版本
- 从代码库中移除软件包或其版本,然后发布具有相同名称和版本号的软件包
如需添加软件包,请执行以下操作:
确保
package.json
中的软件包名称包含为您的代码库配置的范围。以下示例展示了范围为dev-repo
的软件包。"name": "@dev-repo/my-package"
请刷新用于连接到代码库的访问令牌。
google-artifactregistry-auth
是一个客户端库,用于更新 Artifact Registry 代码库的凭据。如需刷新凭据,请使用以下任一方法:
直接使用
npx
来刷新访问令牌。如果您使用的是 npm 5.2.0 或更高版本,则凭据将包含在 npm 中。确保用于连接到公共 npm 注册表的凭据位于用户的 npm 配置文件
~/.npmrc
中。在 npm 项目上方的文件夹中运行以下命令。
npx google-artifactregistry-auth PROJECT-NPMRC
其中 PROJECT-NPMRC 是项目目录中
.npmrc
文件的路径。您必须在项目目录之外运行该命令,以便
npx
使用~/.npmrc
中的公共 npm 注册表凭据来下载google-artifactregistry-auth
。将脚本添加到项目的
package.json
文件中。"scripts": { "artifactregistry-login": "npx google-artifactregistry-auth" }
npm run artifactregistry-login PROJECT-NPMRC --registry https://registry.npmjs.org/
其中 PROJECT-NPMRC 是项目目录中
.npmrc
文件的路径。对于低于 5.2.0 的 npm 版本,请执行以下步骤:
- 运行以下命令:
npm install google-artifactregistry-auth --save-dev --registry https://registry.npmjs.org/
- 将其添加到身份验证脚本中:
"scripts": { "artifactregistry-login": "./node_modules/.bin/artifactregistry-auth", }
运行脚本
npm run artifactregistry-login PROJECT-NPMRC
其中 PROJECT-NPMRC 是项目目录中
.npmrc
文件的路径。
将软件包添加到代码库中。您可以使用
npm
或yarn
命令。npm publish
yarn publish
查看软件包和版本
要使用 npm
或 yarn
获取软件包信息,请运行相应的命令:
npm view
yarn info
如需使用 Google Cloud Console 或 gcloud
查看软件包和软件包版本,请执行以下操作:
控制台
在 Google Cloud Console 中打开代码库页面。
在代码库列表中,点击相应代码库。
软件包页面列出代码库中的软件包。
点击一个软件包以查看它的版本。
gcloud
如需列出代码库中的软件包,请运行以下命令:
gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]
其中
- REPOSITORY 是代码库的名称。如果您配置了默认代码库,则可以省略此标志以使用默认值。
- LOCATION 是单区域或多区域位置。使用此标志可查看特定位置的代码库。如果您配置了默认位置,则可以省略此标志以使用默认值。
如需查看软件包的版本,请运行以下命令:
gcloud artifacts versions list --package=PACKAGE [--repository=REPOSITORY] [--location=LOCATION]
其中
标记软件包
您可以查看、添加、更新和删除标记。
查看标记
如需查看软件包的标记,请执行以下操作:
控制台
在 Cloud Console 中打开 代码库页面。
点击软件包以查看版本和关联的标记。
选择要标记的软件包版本。
在所选版本的行中,点击更多操作 (
),然后点击修改标记。
在字段中输入新标记,然后点击保存。
gcloud
运行以下命令:
gcloud artifacts tags list --package=PACKAGE \ [--repository=REPOSITORY] [--location=LOCATION]
其中
- PACKAGE 是代码库中的软件包名称。
- REPOSITORY 是代码库的名称。如果您配置了默认代码库,则可以省略此标志以使用默认值。
- LOCATION 是单区域或多区域位置。使用此标志可查看特定位置的代码库。如果您配置了默认位置,则可以省略此标志以使用默认值。
例如,如需查看默认位置的 my-repo
代码库中软件包 my-package
的标记,请运行以下命令:
gcloud artifacts tags list --package=my-pkg --repository=my-repo
创建标记
您可以为特定版本的软件包创建标记。
如需标记代码库中的现有映像,请执行以下操作:
控制台
在 Cloud Console 中打开 代码库页面。
点击软件包以查看它的版本。
选择要标记的软件包版本。
在所选版本的行中,点击更多操作 (
),然后点击修改标记。
在字段中输入新标记,然后点击保存。
gcloud
运行以下命令:
gcloud artifacts tags create TAG --package=PACKAGE \ version=VERSION [--location=LOCATION] [--repository=REPOSITORY]
其中
- TAG 是您要应用到软件包的标记。
- PACKAGE 是代码库中的软件包名称。
- VERSION 是您要标记的软件包的版本。
- LOCATION 是单区域或多区域位置。使用此标志可查看特定位置的代码库。如果您配置了默认位置,则可以省略此标志以使用默认值。
- REPOSITORY 是代码库的名称。如果您配置了默认代码库,则可以省略此标志以使用默认值。
例如,如需为默认位置的 my-repo
代码库中 my-package
软件包的版本 1.0.0
创建 release-candidate
标记,请运行以下命令:
gcloud artifacts tags create release-candidate --version=1.0.0 \
--package=my-pkg --repository=my-repo
更新标记
您可以更改与软件包版本关联的标记。
如需更改现有标记,请执行以下操作:
控制台
在 Cloud Console 中打开 代码库页面。
点击软件包以查看它的版本。
选择含有要更改的标记的软件包版本。
在所选版本的行中,点击更多操作 (
),然后点击修改标记。
修改标记,然后点击保存。
gcloud
运行以下命令:
gcloud artifacts tags update TAG --package=PACKAGE \ version=VERSION [--location=LOCATION] [--repository=REPOSITORY]
其中
- TAG 是您要应用到软件包的标记。
- PACKAGE 是代码库中的软件包名称。
- VERSION 是您要标记的软件包的版本。
- LOCATION 是单区域或多区域位置。使用此标志可查看特定位置的代码库。如果您配置了默认位置,则可以省略此标志以使用默认值。
- REPOSITORY 是代码库的名称。如果您配置了默认代码库,则可以省略此标志以使用默认值。
例如,如需在默认位置的 my-repo
代码库中将 my-package
软件包的版本 1.0.0
的标记更改为 production
,请运行以下命令:
gcloud artifacts tags update production --version=1.0.0 \
--package=my-pkg --repository=my-repo
取消对软件包版本的标记
您可以从软件包版本中移除现有标记。
如需移除标记,请执行以下操作:
控制台
在 Cloud Console 中打开 代码库页面。
点击映像以查看映像的版本。
选择要取消标记的映像版本。
在所选版本的行中,点击更多操作 (
),然后点击修改标记。
删除标记,然后点击保存。
gcloud
运行以下命令:
gcloud artifacts tags delete TAG --package=PACKAGE \ [--location=LOCATION] [--repository=REPOSITORY]
其中
- TAG 是您要应用到软件包的标记。
- PACKAGE 是代码库中的软件包名称。
- LOCATION 是单区域或多区域位置。使用此标志可查看特定位置的代码库。如果您配置了默认位置,则可以省略此标志以使用默认值。
- REPOSITORY 是代码库的名称。如果您配置了默认代码库,则可以省略此标志以使用默认值。
例如,如需从默认位置的 my-repo
代码库中的 my-package
软件包中移除 release-candidate
标记,请运行以下命令:
gcloud artifacts tags delete release-candidate --package=my-pkg \
--repository=my-repo
安装软件包
如需从 npm 代码库安装软件包,请使用 npm install
或 yarn add
命令。
npm install @SCOPE/PACKAGE
yarn add @SCOPE/PACKAGE
其中
- SCOPE 是与代码库关联的范围
- PACKAGE 是代码库中的软件包名称
如果您的 npm 代码库没有配置范围,请在命令中省略范围:
npm install PACKAGE
yarn add PACKAGE
在 package.json
中将软件包指定为依赖项时,请务必添加代码库的范围。以下示例展示了名为 my-package
的软件包的 @dev-repo
范围。
"dependencies": {
"@dev-repo/my-package": ">=1.0.0"
}
删除软件包
在删除软件包或软件包版本之前,请确认您已在其中告知或解决任何重要依赖项。
软件包版本发布后,即使您删除了版本,也无法重新发布具有相同名称和版本组合的软件包。这是 npm 限制,用于确保已发布的软件包版本的内容始终相同。
如果要鼓励用户安装更新后的软件包版本,请使用 npm deprecate 命令将旧版软件包标记为已弃用。当用户尝试安装已弃用的软件包时,Artifact Registry 会返回弃用警告。
如需删除软件包,请按如下所述操作:
控制台
在 Google Cloud Console 中打开代码库页面。
在代码库列表中,点击相应代码库。
软件包页面列出代码库中的软件包。
选择要删除的软件包。
点击删除。
在确认对话框中,点击删除。
gcloud
运行以下命令:
gcloud artifacts packages delete PACKAGE \ [--repository=REPOSITORY] [--location=LOCATION] [--async]
其中
如需删除软件包的版本,请按如下所述操作:
控制台
在 Google Cloud Console 中打开代码库页面。
在代码库列表中,点击相应代码库。
软件包页面列出代码库中的软件包。
点击一个软件包以查看它的版本。
选择您要删除的版本。
点击删除。
在确认对话框中,点击删除。
gcloud
运行以下命令:
gcloud artifacts versions delete VERSION \ [--repository=REPOSITORY] [--location=LOCATION] [--async]
其中