Skip to content

Instantly share code, notes, and snippets.

Created June 20, 2017 00:17
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save anonymous/1ec2102c8c0d48592750b1f0b5306cc9 to your computer and use it in GitHub Desktop.
Save anonymous/1ec2102c8c0d48592750b1f0b5306cc9 to your computer and use it in GitHub Desktop.
aws_ecr_curl() {
login_cmd=$(aws ecr get-login)
username=$(echo "$login_cmd" | cut -d " " -f 4)
password=$(echo "$login_cmd" | cut -d " " -f 6)
endpoint=$(echo "$login_cmd" | cut -d " " -f 9)
args=("$@")
args_length=${#args[@]}
args_last=${args[$args_length-1]}
unset 'args[${args_length}-1]'
path="${args_last}"
curl \
-u "${username}:${password}" \
"${args[@]}" \
"${endpoint}${path}"
}
# Usage: docker_tag_exists somerepo sometag
docker_tag_exists() {
repo_name="$1"
tag="$2"
aws_ecr_curl \
--head \
--fail \
-s \
"/v2/${repo_name}/manifests/${tag}" \
> /dev/null
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment