Files
LMS/Makefile

41 lines
1.5 KiB
Makefile

.PHONY: build up down logs restart deploy ps dev test install
VENV := $(CURDIR)/.venv/bin/python
install: ## Создать локальный venv и поставить зависимости (разработка)
python3 -m venv .venv
$(VENV) -m pip install --upgrade pip
$(VENV) -m pip install -r requirements-dev.txt
build: ## Собрать образы микросервисов (Docker)
docker compose build
up: ## Запустить все микросервисы одной командой (Docker)
docker compose up -d
down: ## Остановить и удалить контейнеры (Docker)
docker compose down
restart: ## Перезапустить микросервисы (Docker)
docker compose restart
logs: ## Логи всех микросервисов (Docker)
docker compose logs -f
ps: ## Статус микросервисов (Docker)
docker compose ps
deploy: ## Собрать и запустить (деплой на сервере)
./deploy.sh
test: ## Прогнать smoke-тест микросервисной связки (локальный venv)
$(VENV) tests/smoke_test.py
dev: ## Запустить локально без Docker: lms-api :8000 + lms-web :8080
@echo "Запуск lms-api на :8000 и lms-web на :8080..."
@export LMS_API_URL=http://127.0.0.1:8000; \
trap 'kill 0' EXIT; \
cd src/backend && $(CURDIR)/.venv/bin/python -m uvicorn lms_api.main:app --reload --port 8000 & \
cd src/frontend && $(CURDIR)/.venv/bin/python -m uvicorn lms_web.main:app --reload --port 8080 & \
wait