Files
2026-04-30 14:27:01 +07:00

48 lines
1.3 KiB
Makefile

BINARY=cpone-dashboard
SERVER=one@devcpone.aplikasi.web.id
DEPLOY_DIR=/home/one/project/cpone-dashboard
GO ?= go
.PHONY: run build deploy local stop start restart
run:
$(GO) run .
local:
GOCACHE=/tmp/cpone-gocache $(GO) run .
start:
@if lsof -nP -iTCP:3307 -sTCP:LISTEN >/dev/null 2>&1; then \
echo "tunnel 3307 already running"; \
else \
echo "starting tunnel 3307 -> devcpone"; \
ssh -f -N -L 3307:127.0.0.1:3306 one@devcpone.aplikasi.web.id; \
fi
@echo "starting dashboard on http://localhost:8080/dashboard"
GOCACHE=/tmp/cpone-gocache $(GO) run .
stop:
@pids="$$(lsof -t -iTCP:8080 -sTCP:LISTEN 2>/dev/null) $$(lsof -t -iTCP:3307 -sTCP:LISTEN 2>/dev/null)"; \
if [ -z "$$pids" ]; then \
echo "nothing to stop"; \
else \
echo "$$pids" | tr ' ' '\n' | sort -u | xargs kill; \
echo "stopped local dashboard and tunnel"; \
fi
restart: stop start
build:
GOOS=linux GOARCH=amd64 $(GO) build -o $(BINARY)-linux .
deploy: build
scp $(BINARY)-linux $(SERVER):$(DEPLOY_DIR)/$(BINARY)
ssh $(SERVER) "chmod +x $(DEPLOY_DIR)/$(BINARY) && systemctl --user restart cpone-dashboard"
@echo "deployed → https://devcpone.aplikasi.web.id/cpone-dashboard"
logs:
ssh $(SERVER) "journalctl --user -u cpone-dashboard -f --no-pager"
status:
ssh $(SERVER) "systemctl --user status cpone-dashboard --no-pager"