Files
gibbz/Makefile
T
mats 5757156843
Build and Publish / Metadata (push) Successful in 1s
Build and Publish / BuildAndDeployAmd64 (push) Successful in 18s
feat: migrate voice app, add otel/rum, dockerfile, k8s deployment with ingress
2026-09-22 09:43:47 +02:00

46 lines
1.3 KiB
Makefile

IMAGE ?= matst80/gibbz:latest
NAMESPACE ?= home
VERSION ?= $(shell git describe --tags --exact-match 2>/dev/null || git rev-parse --short=12 HEAD)
GIT_COMMIT ?= $(shell git rev-parse HEAD)
BUILD_DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
.PHONY: all help build test check docker-build docker-push deploy rollout status logs
all: check
help: ## Show target help
@grep -E '^[a-zA-Z_-]+:.*?## ' $(MAKEFILE_LIST) | awk 'BEGIN{FS=":.*?## "}{printf " \033[36m%-16s\033[0m %s\n", $$1, $$2}'
test: ## Run local tests
npm test
check: test ## Quality gate: run all tests
build: check ## Build local dependencies and run tests
npm ci
docker-build: ## Build docker image
docker build \
--build-arg APP_RELEASE=$(VERSION) \
--build-arg VERSION=$(VERSION) \
--build-arg GIT_COMMIT=$(GIT_COMMIT) \
--build-arg BUILD_DATE=$(BUILD_DATE) \
-t $(IMAGE) \
.
docker-push: ## Push docker image
docker push $(IMAGE)
deploy: ## Apply Kubernetes manifests to the cluster
kubectl apply -f k8s/deployment.yaml
rollout: ## Trigger rolling restart of the deployment
kubectl rollout restart deployment/gibbz -n $(NAMESPACE)
kubectl rollout status deployment/gibbz -n $(NAMESPACE)
status: ## Check deployment and pod status
kubectl get pods,svc,ingress -l app=gibbz -n $(NAMESPACE)
logs: ## Tail pod logs
kubectl logs -l app=gibbz -n $(NAMESPACE) -f