diff --git a/makefile b/makefile index 0f73579..0b4e9c4 100644 --- a/makefile +++ b/makefile @@ -10,17 +10,12 @@ ifneq (,$(wildcard $(ENV_FILE))) export $(shell sed -n 's/^\([A-Za-z_][A-Za-z0-9_]*\)=.*/\1/p' $(ENV_FILE)) endif -# ---- per-environment (env = prod | dev | local) ---- -WORK_DIR_prod := /var/www/compro-mit -WORK_DIR_dev := /var/www/compro-mit -WORK_DIR_local := $(CURDIR) COMPOSE_prod := docker-compose.yml COMPOSE_dev := docker-compose.dev.yml COMPOSE_local := docker-compose.local.yml BRANCH_prod := production BRANCH_dev := main -WORK_DIR = $(WORK_DIR_$*) COMPOSE = $(COMPOSE_$*) BRANCH = $(BRANCH_$*) DC = sudo docker compose -f $(COMPOSE) @@ -31,7 +26,7 @@ LOG_IMAGE := deploy-log:1 OUT_FILE = $(LOG_DIR)/$(PROJECT)/.last-deploy.out HIST_FILE = $(LOG_DIR)/$(PROJECT)/$*.jsonl LOG = sudo docker run --rm \ - -v $(LOG_DIR):/logs -v $(WORK_DIR):/repo:ro \ + -v $(LOG_DIR):/logs -v $(CURDIR):/repo:ro \ -e DEPLOY_ACTOR="$$(id -un 2>/dev/null)" $(LOG_IMAGE) .PHONY: help install run-local log-dir status ps @@ -45,8 +40,7 @@ help: ## Tampilkan daftar perintah # ---- deploy ---- deploy-%: log-dir data-dir-% ## Pull + build + up (prod/dev) @$(LOG) start $(PROJECT) $* || true - @cd $(WORK_DIR) || exit 1; \ - ( \ + @( \ sudo git pull https://$(GITLAB_USERNAME):$(GITLAB_PASSWORD)@$(REPO) $(BRANCH) && \ $(DC) build --no-cache --progress=plain && \ $(DC) up -d --remove-orphans && \ @@ -59,19 +53,19 @@ deploy-%: log-dir data-dir-% ## Pull + build + up (prod/dev) # ---- operasional ---- up-%: data-dir-% ## Build + start container - @cd $(WORK_DIR) && $(DC) up -d --build --remove-orphans + @$(DC) up -d --build --remove-orphans stop-%: ## Stop container - @cd $(WORK_DIR) && $(DC) stop + @$(DC) stop restart-%: ## Restart container - @cd $(WORK_DIR) && $(DC) restart + @$(DC) restart logs-%: ## Tail log container - @cd $(WORK_DIR) && $(DC) logs -f --tail=200 + @$(DC) logs -f --tail=200 clean-%: ## Down + hapus image + prune - @cd $(WORK_DIR) && $(DC) down -v --rmi local && sudo docker system prune -f + @$(DC) down -v --rmi local && sudo docker system prune -f history-%: ## 10 deploy terakhir @test -s $(HIST_FILE) && tail -n 10 $(HIST_FILE) | tac || echo "belum ada entri" @@ -95,4 +89,4 @@ log-dir: # folder data di-bind ke /app/data; user container (nextjs) ber-UID 1001 data-dir-%: - @cd $(WORK_DIR) && sudo mkdir -p data && sudo chown -R 1001:1001 data + @sudo mkdir -p data && sudo chown -R 1001:1001 data