Created
September 11, 2015 22:00
-
-
Save rcarver/dc79657fe21f8f3db5d6 to your computer and use it in GitHub Desktop.
My standard golang + docker development Makefile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
check: build test vet lint | |
test: start-dynamodb | |
DYNAMODB_HOSTPORT=$$(docker-machine ip ${docker-machine-env}):${dynamodb-port} \ | |
go test ./... | |
vet: | |
go vet ./... | |
lint: | |
golint ./... | |
build: | |
go install . | |
.PHONY: check test vet lint build | |
# Docker service commands | |
# ============================================================================= | |
# A list of all docker services for startall/stopall. | |
docker-svcs=dynamodb | |
# Start all docker services. | |
startall: $(patsubst %,start-%,${docker-svcs}) | |
# Stop all docker services. | |
stopall: $(patsubst %,stop-%,${docker-svcs}) | |
# Start any docker service by name. | |
start-%: | |
$(MAKE) tmp/docker/$* | |
# Stop any docker service by name. | |
stop-%: | |
test -f tmp/docker/$* | |
docker stop $$(cat tmp/docker/$*) | |
docker rm $* | |
rm -f tmp/docker/$* | |
# Which docker machine env to use. | |
docker-machine-env=default | |
# Docker service definitions. | |
# ============================================================================= | |
dynamodb-port=8000 | |
tmp/docker/dynamodb: | |
mkdir -p $(dir $@) | |
docker run --cidfile=$@ --name dynamodb -d -p 8000:${dynamodb-port} dynamodb | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment