Makefile recipe:

# Makefile
-include .env
 
# ...
 
build:
	docker build \
        -t ${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG} \
        -f ${DOCKERFILE_PATH} \
        --target ${TARGET} \
        .
 
 
push-dev:
	$(MAKE) \
		DOCKER_IMAGE_NAME="${AWS_ECR_REGISTRY_BASE}/${AWS_ECR_DEV_REPOSITORY_NAME}" \
		DOCKER_IMAGE_TAG=development \
		TARGET=development \
		build
	aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${AWS_ECR_REGISTRY_BASE}
	docker push ${AWS_ECR_REGISTRY_BASE}/${AWS_ECR_DEV_REPOSITORY_NAME}:development

Variables:

# .env

# ...

export AWS_REGION=us-east-1
export AWS_ECR_REGISTRY_BASE=273861407439.dkr.ecr.us-east-1.amazonaws.com
export AWS_ECR_DEV_REPOSITORY_NAME=apex-test
export AWS_ECR_PROD_REPOSITORY_NAME=apex-test-prod