2016-04-05 2 views
0

В настоящее время я использую это, чтобы проверить, доступно ли изображение на gcr.io.Как определить, доступен ли какой-либо конкретный тег для изображения

tags_json=$(curl "https://gcr.io/v2/${repo}/${image}/tags/list" 2>/dev/null) tags_found="$(echo "${tags_json}" | jq ".tags | indices([\"${version}\"]) | any")"

Это печально, потому что версия jq, которая поддерживает indices является относительно новой по сравнению с некоторыми дистрибутивами LTS там ...

я могу уйти с этим для docker.io, который работает с более старыми версиями jq:

tags_json=$(curl "https://registry.hub.docker.com/v2/repositories/${repo}/${image}/tags/${version}/" 2>/dev/null) tags_found="$(echo "${tags_json}" | jq ".v2?")"

есть ли лучший способ сделать это? Я видел упоминания о том, что GCR поддерживает некоторые расширения поверх типичного протокола реестра докеров. Все, что я могу использовать здесь.

ответ

0

Вы можете использовать инструмент анализа python json.

Ниже приведен пример: curl https://gcr.io/v2/ $ {repo}/$ {image}/tags/list 2>/dev/null | python -c 'import sys, json; print sys.argv [1] in json.load (sys.stdin) ["tags"] '$ {версия}

Надеюсь, это поможет!

Смежные вопросы