了解在使用 Artifact Registry 时适用于所有工件格式的问题排查步骤。对于特定于工件格式的问题,请参阅针对特定格式的页面。
命令中的代码库或位置无效
以下信息可帮助您诊断代码库位置无效或代码库名称无效的错误。
gcloud 的位置和代码库默认值
如果您在 Google Cloud CLI 中设置默认代码库和位置,从而可以在 gcloud artifacts
命令中省略 --location
和 --repository
标志,请尝试运行失败的命令(包含这些标志和相应值)。如需详细了解特定命令的语法,请使用 --help
标志运行该命令。
默认代码库设置不适用于 gcloud artifacts
命令(您在这些命令中指定代码库名称不带 --repository
标志)。例如,您必须在 gcloudartifact repositories describe 命令中指定代码库名称,如以下示例所示:
gcloud artifacts repositories describe my-repo --location=us-west1
如果命令仍然失败,您可能需要验证您是否为代码库或位置指定了有效值。
存储库位置
如需列出所有受支持的 Artifact Registry 位置,请运行以下命令:
gcloud artifacts locations list
您的组织政策可能包含位置限制。Artifact Registry 会在创建代码库时强制执行这些限制。Artifact Registry 不会追溯强制执行位置限制之前的代码库政策。
gcloud 命令中的代码库名称
您可以列出代码库以查看指定项目或位置的代码库名称。
如需列出项目中的所有代码库,请运行以下命令:
gcloud artifacts repositories list --project=PROJECT-ID \
--location=all
如需列出某个位置中的所有代码库,请运行以下命令:
gcloud artifacts repositories list --project=PROJECT-ID \
--location=LOCATION
将 PROJECT-ID 替换为您的 Google Cloud 项目 ID,并将 LOCATION 替换为代码库位置。
该命令会返回每个代码库的信息,类似于以下示例:
REPOSITORY: my-repo
FORMAT: MAVEN
DESCRIPTION:
LOCATION: us-east1
LABELS:
ENCRYPTION: Google-managed key
CREATE_TIME: 2021-09-23T19:39:10
UPDATE_TIME: 2021-09-23T19:39:10
REPOSITORY
的值是您用于以代码库名称作为参数的 gcloud artifacts
命令的值。
例如,以下命令使用 --repository
标志:
gcloud artifacts packages list --location=us-east1 --repository=my-repo
此命令仅使用不带标志的代码库名称:
gcloud artifacts repositories describe my-repo --location=us-west1
包含第三方客户端的代码库名称
对于第三方客户端,您在配置客户端(如 us-east1-docker.pkg.dev/my-project/my-repo
)时通常会使用完整的代码库路径。然后,您可以按照客户端的惯例上传和下载软件包。如需详细了解客户端配置和用法,请参阅与您使用的格式对应的文档。
如果您是从 Container Registry 转换,请注意所有映像路径都必须包含 Artifact Registry 代码库名称。您不能指定仅包含项目 ID 的映像路径。
- 路径无效:
us-east1-docker.pkg.dev/my-project/my-image
- 有效路径:
us-east1-docker.pkg.dev/my-project/my-repo/my-image
无法从未删除的代码库推送或拉取
在您恢复删除的 Google Cloud 项目或停用 Artifact Registry API 后,代码库将无法再正常运行。
如果您停用 Artifact Registry API 或删除项目,则 Artifact Registry 服务将无法使用。Artifact Registry 会在 7 天后删除代码库数据。