问题描述
我正在用 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
解决方案。