start.sh 676 B

12345678910111213141516171819202122
  1. #!/bin/bash
  2. # Скрипт безопасного запуска бэкенда (Production / Linux)
  3. echo "🧪 Running backend tests..."
  4. # Ищем pytest в виртуальном окружении
  5. if [ -f ".venv/bin/pytest" ]; then
  6. PYTEST_BIN=".venv/bin/pytest"
  7. else
  8. PYTEST_BIN="pytest"
  9. fi
  10. $PYTEST_BIN tests/ -v
  11. TEST_STATUS=$?
  12. if [ $TEST_STATUS -ne 0 ]; then
  13. echo "❌ Tests failed! Aborting server start to prevent broken deployments."
  14. exit $TEST_STATUS
  15. fi
  16. echo "✅ Tests passed successfully! Starting Uvicorn backend..."
  17. # Запуск Uvicorn с рабочими процессами
  18. .venv/bin/uvicorn main:app --host 127.0.0.1 --port 8000 --workers 4