Files
argparser/Makefile.container

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