github.com/tuingking/flamingo@v0.0.0-20220403134817-2796ae0e84ca/Makefile (about) 1 .PHONY: build run 2 3 # version settings 4 NAMESPACE = flamingo 5 BUILD_TIME ?= $(shell date -u '+%Y-%m-%d_%H:%M:%S') 6 BUILD_VERSION ?= $(shell git describe --tag) 7 COMMIT_HASH ?= $(shell git rev-parse --short HEAD) 8 9 swag: 10 @swag init --parseDependency --parseInternal --parseDepth 1 -g cmd/rest/main.go 11 12 build: swag 13 @echo "📦 building binary..." 14 @go build -ldflags "-X main.Namespace=${NAMESPACE} \ 15 -X main.BuildVersion=${BUILD_VERSION} \ 16 -X main.BuildTime=${BUILD_TIME} \ 17 -X main.CommitHash=${COMMIT_HASH}" \ 18 --race --tags=dynamic -o ./bin/${NAMESPACE}-rest cmd/rest/main.go 19 20 kill-process: 21 @lsof -i :8080 | awk '$$1 ~ /app/ { print $$2 }' | xargs kill -9 || true 22 23 run: kill-process build 24 @./bin/${NAMESPACE}-rest 25 26 run-dev: swag 27 @air cmd/rest/main.go 28 29 migrate: 30 @migrate -path script/migrations -database "mysql://root:password@tcp(localhost:3306)/playground" -verbose up 31 32 build-image: 33 @ echo "📦 building docker image..." 34 @ docker build -f Dockerfile -t flamingo . 35 36 docker-run: 37 @ echo "📦 run container..." 38 @ docker run --rm --name flamingo -p 8080:8080 flamingo