55 lines
1.2 KiB
Makefile
55 lines
1.2 KiB
Makefile
.PHONY: help build run docker-build docker-run docker-push clean
|
|
|
|
BINARY_NAME=argparse-builder
|
|
DOCKER_IMAGE=argparse-builder
|
|
DOCKER_TAG=latest
|
|
PORT=8080
|
|
|
|
help:
|
|
@echo "Available targets:"
|
|
@echo " build - Build Go binary"
|
|
@echo " run - Run locally"
|
|
@echo " docker-build - Build Docker image"
|
|
@echo " docker-run - Run Docker container"
|
|
@echo " docker-push - Push to registry"
|
|
@echo " docker-clean - Remove Docker images"
|
|
@echo " clean - Clean all artifacts"
|
|
|
|
build:
|
|
go build -ldflags="-s -w" -o $(BINARY_NAME) .
|
|
|
|
run: build
|
|
./$(BINARY_NAME)
|
|
|
|
docker-build:
|
|
docker build -t $(DOCKER_IMAGE):$(DOCKER_TAG) .
|
|
|
|
docker-build-alpine:
|
|
docker build -f Dockerfile.alpine -t $(DOCKER_IMAGE):alpine .
|
|
|
|
docker-run:
|
|
docker run -d -p $(PORT):8080 --name $(BINARY_NAME) $(DOCKER_IMAGE):$(DOCKER_TAG)
|
|
|
|
docker-stop:
|
|
docker stop $(BINARY_NAME) && docker rm $(BINARY_NAME)
|
|
|
|
docker-logs:
|
|
docker logs -f $(BINARY_NAME)
|
|
|
|
docker-push:
|
|
docker push $(DOCKER_IMAGE):$(DOCKER_TAG)
|
|
|
|
docker-clean:
|
|
docker rmi $(DOCKER_IMAGE):$(DOCKER_TAG) || true
|
|
|
|
compose-up:
|
|
docker-compose up -d
|
|
|
|
compose-down:
|
|
docker-compose down
|
|
|
|
clean:
|
|
rm -f $(BINARY_NAME)
|
|
docker-compose down || true
|
|
docker rm -f $(BINARY_NAME) || true
|