41 lines
1.5 KiB
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
|