Skip to content

Instantly share code, notes, and snippets.

@svanzoest
Created November 27, 2017 17:53
Show Gist options
  • Save svanzoest/ab743bfb14e6e735bae27c32ca10eccf to your computer and use it in GitHub Desktop.
Save svanzoest/ab743bfb14e6e735bae27c32ca10eccf to your computer and use it in GitHub Desktop.
Docker ECR push script
#!/bin/bash
IMAGE_NAME="org/project"
IMAGE_TAG="latest"
AWS_REGION="us-west-2"
AWSCLI=aws
JQCLI=jq
DOCKERCLI=docker
set -e
command -v ${JQCLI} >/dev/null 2>&1 || { echo >&2 "I require jq but it's not installed. Please run 'brew install jq'."; exit 1; }
command -v ${AWSCLI} >/dev/null 2>&1 || { echo >&2 "I require aws but it's not installed. Please run 'pip install --user --upgrade awscli'."; exit 1; }
command -v ${DOCKERCLI} >/dev/null 2>&1 || { echo >&2 "I require docker but it's not installed. Please download 'https://download.docker.com/mac/stable/Docker.dmg'."; exit 1; }
: "${AWS_PROFILE?Please set your AWS_PROFILE environment variable}"
echo "Uploading for ${AWS_PROFILE}"
REPO_URI=$(${AWSCLI} ecr describe-repositories | ${JQCLI} -r ".repositories[] | select(.repositoryName | contains(\"$IMAGE_NAME\")) | .repositoryUri")
$(${AWSCLI} ecr get-login --no-include-email --region ${AWS_REGION})
${DOCKERCLI} build -t ${IMAGE_NAME} .
${DOCKERCLI} tag "${IMAGE_NAME}:${IMAGE_TAG}" "${REPO_URI}:${IMAGE_TAG}"
${DOCKERCLI} push "${REPO_URI}:${IMAGE_TAG}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment