如何使用 gcloud 使用正则表达式从 Google GCR 获取特定标签

问题描述

我正在用 git_short_sha 和 branch_name 以及其他一些标签标记我的图像。我正在尝试使用 gcloud 命令获取带有 master 标记的图像的 short_sha 标签。 我已经设法使用以下命令通过其位置获取所有标签或特定标签

1. gcloud container images list-tags eu.gcr.io/${PROJECT_ID}/${IMAGE} --format='value(tags[1])' --filter="tags=master"

result:
76f1a2a

但我不能确定第二个元素总是short_sha。

 2. gcloud container images list-tags eu.gcr.io/${PROJECT_ID}/${IMAGE} --format='value(tags)' --filter="tags=master"

result:
1.0.0-master,76f1a2a,76f1a2a-master,master

是否可以仅使用 gcloud 命令来获取 short_sha 标签

解决方法

试试:

gcloud container images list-tags eu.gcr.io/${PROJECT_ID}/${IMAGE} \
--flatten="[].tags[]" \
--filter="tags=${TAG}"

这出现过一次 before。如果您遇到该错误,可以尝试 jq 解决方案。