Files

60 lines
1.5 KiB
Makefile
Raw Permalink Normal View History

2026-04-01 11:47:03 +04:00
SHELL := /bin/bash
PNPM ?= pnpm
GO ?= go
CONTAINER_REG ?= repo.ssp-itinfra.com/admin
IMAGE_NAME ?= shooting-event
ARCH ?= amd64
BUILD_DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
BUILD_VERSION ?= $(shell git describe --tags --always --dirty)
.PHONY: install dev dev-backend dev-frontend build build-frontend build-backend docker-build docker-run clean
install:
cd frontend && $(PNPM) install
cd backend && $(GO) mod tidy
dev-backend:
cd backend && $(GO) run .
dev-frontend:
cd frontend && $(PNPM) dev
dev:
@set -euo pipefail; \
trap 'kill 0' INT TERM EXIT; \
$(MAKE) dev-backend & \
$(MAKE) dev-frontend & \
wait
build-frontend:
cd frontend && $(PNPM) build
build-backend:
mkdir -p bin
cd backend && $(GO) build -o ../bin/shooting-event .
build: build-frontend
rm -rf backend/web
mkdir -p backend/web
cp -R frontend/dist/. backend/web/
$(MAKE) build-backend
docker-build:
docker buildx build --load --platform=linux/$(ARCH) -t $(CONTAINER_REG)/$(IMAGE_NAME):$(ARCH) .
docker tag $(CONTAINER_REG)/$(IMAGE_NAME):$(ARCH) $(CONTAINER_REG)/$(IMAGE_NAME):$(ARCH)-latest
docker tag $(CONTAINER_REG)/$(IMAGE_NAME):$(ARCH) $(CONTAINER_REG)/$(IMAGE_NAME):$(ARCH)-$(BUILD_VERSION)
docker push $(CONTAINER_REG)/$(IMAGE_NAME):$(ARCH)
docker push $(CONTAINER_REG)/$(IMAGE_NAME):$(ARCH)-latest
docker push $(CONTAINER_REG)/$(IMAGE_NAME):$(ARCH)-$(BUILD_VERSION)
docker-run:
mkdir -p data
docker run --rm -p 8080:8080 -v $(PWD)/data:/app/data $(CONTAINER_REG)/$(IMAGE_NAME):$(ARCH)
2026-04-03 09:55:36 +04:00
release:
$(MAKE) docker-build
2026-04-01 11:47:03 +04:00
clean:
rm -rf bin frontend/dist backend/web