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