Skip to content

Instantly share code, notes, and snippets.

@jburditt
Last active August 31, 2021 23:25
Show Gist options
  • Save jburditt/cb7d9ade8c7883514a51d6b46d340af9 to your computer and use it in GitHub Desktop.
Save jburditt/cb7d9ade8c7883514a51d6b46d340af9 to your computer and use it in GitHub Desktop.
network = <network_name>
repository = <repository_path>
# works on Windows (Git Bash, Powershell, Command Prompt) and Mac (bash, zsh, Powershell)
path := ${PWD}
ifeq ($(path),)
path := ${CURDIR}
endif
# let's make makefile make no files
#.PHONY: build-default $(MAKECMDGOALS)
build-default:
docker build -t $(tag) .
run-default:
docker run --network="$(network)" --rm --name $(container) $(tag)
ps:
docker ps -a --format "table {{.Names}}\t{{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}"
bash-default:
docker exec -it $(container) sh
stop-default:
-docker stop $(container)
rm: stop
docker rm $(container)
logs:
docker logs $(container)
network:
docker network create $(network)
login:
docker login -u AWS -p $$(aws ecr get-login-password --region us-east-1) $(repository)
prune:
docker image prune
test: tagname = test
test: pushtag
version-default: tagname = $(v)
version-default: check-version pushtag
pushtag: build login
docker tag $(tag) $(repository)/$(tag):$(tagname)
docker push $(repository)/$(tag):$(tagname)
# hack to avoid warnings of overriding commands
%: %-default
@ true
# use $(call check_defined, var) to require var to be defined
check_defined = \
$(strip $(foreach 1,$1, \
$(call __check_defined,$1,$(strip $(value 2)))))
__check_defined = \
$(if $(value $1),, \
$(error Undefined $1$(if $2, ($2))))
check-version:
ifndef v
$(error v is undefined. Use "make version v=1.8.3")
endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment