Распределение вариантов
This commit is contained in:
40
Makefile
Normal file
40
Makefile
Normal file
@@ -0,0 +1,40 @@
|
||||
.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
|
||||
Reference in New Issue
Block a user