# Управление контурами test/prod. # Пример: make up E=test # # Используем .RECIPEPREFIX, чтобы не зависеть от табов (рецепты начинаются с ">"). E ?= test FILE := env/$(E).env COMPOSE := docker compose -p $(E) --env-file $(FILE) -f docker-compose.prod.yml .DEFAULT_GOAL := help .RECIPEPREFIX := > .PHONY: help up pull down restart logs ps images check psql ch help: > @echo "Контур задаётся через E=test|prod (по умолчанию test):" > @echo " make up E=test поднять контур" > @echo " make pull E=test подтянуть образ из registry" > @echo " make down E=test остановить (данные сохраняются)" > @echo " make restart E=test пересоздать контейнеры" > @echo " make logs E=test стримить логи" > @echo " make ps E=test статус сервисов" > @echo " make images E=test образы контура" > @echo " make check E=test проверка контура (скрипт)" > @echo " make psql E=test psql в БД контура" > @echo " make ch E=test clickhouse-client контура" up: > $(COMPOSE) up -d pull: > $(COMPOSE) pull down: > $(COMPOSE) down restart: > $(COMPOSE) up -d --force-recreate logs: > $(COMPOSE) logs -f ps: > $(COMPOSE) ps images: > $(COMPOSE) images check: > ./scripts/check_contour.sh $(E) psql: > $(COMPOSE) exec postgres sh -lc 'psql -U "$$POSTGRES_USER" -d "$$POSTGRES_DB"' ch: > $(COMPOSE) exec clickhouse sh -lc 'clickhouse-client --user "$$CLICKHOUSE_USER" --password "$$CLICKHOUSE_PASSWORD" --database analytics'