77 lines
2.7 KiB
Bash
77 lines
2.7 KiB
Bash
#!/bin/bash
|
|
|
|
echo "🚀 Запуск RSS Parser для Kursiv Media"
|
|
echo "======================================"
|
|
|
|
# Проверяем наличие Java
|
|
if ! command -v java &> /dev/null; then
|
|
echo "❌ Java не найдена. Убедитесь, что Java 21+ установлена."
|
|
exit 1
|
|
fi
|
|
|
|
# Проверяем версию Java
|
|
JAVA_VERSION=$(java -version 2>&1 | head -n 1 | cut -d'"' -f2 | cut -d'.' -f1)
|
|
if [ "$JAVA_VERSION" -lt 21 ]; then
|
|
echo "❌ Требуется Java 21 или выше. Текущая версия: $JAVA_VERSION"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Java версия: $(java -version 2>&1 | head -n 1)"
|
|
|
|
# Проверяем наличие Maven wrapper
|
|
if [ ! -f "./mvnw" ]; then
|
|
echo "❌ Maven wrapper не найден"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Maven wrapper найден"
|
|
|
|
# Собираем проект
|
|
echo "📦 Сборка проекта..."
|
|
./mvnw clean compile -q
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ Ошибка при сборке проекта"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Проект собран успешно"
|
|
|
|
# Проверяем доступность MongoDB (опционально)
|
|
echo "🔍 Проверка MongoDB..."
|
|
if command -v mongosh &> /dev/null; then
|
|
if mongosh --eval "db.runCommand('ping')" --quiet &> /dev/null; then
|
|
echo "✅ MongoDB доступен"
|
|
else
|
|
echo "⚠️ MongoDB может быть недоступен. Убедитесь, что MongoDB запущен."
|
|
fi
|
|
else
|
|
echo "⚠️ MongoDB клиент не найден. Убедитесь, что MongoDB установлен и запущен."
|
|
fi
|
|
|
|
echo ""
|
|
echo "🎯 Доступные команды:"
|
|
echo "1. Запуск приложения: ./mvnw spring-boot:run"
|
|
echo "2. Запуск тестов: ./mvnw test"
|
|
echo "3. Сборка JAR: ./mvnw clean package"
|
|
echo ""
|
|
echo "📡 После запуска приложения API будет доступно по адресу:"
|
|
echo " http://localhost:8080/api/parser/"
|
|
echo ""
|
|
echo "🔧 Основные endpoints:"
|
|
echo " POST /api/parser/parse - Запуск парсинга"
|
|
echo " GET /api/parser/stats - Статистика"
|
|
echo " GET /api/parser/items - Все записи"
|
|
echo " GET /api/parser/health - Проверка состояния"
|
|
echo ""
|
|
|
|
# Спрашиваем, хочет ли пользователь запустить приложение
|
|
read -p "🚀 Запустить приложение сейчас? (y/n): " -n 1 -r
|
|
echo
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
echo "🚀 Запуск приложения..."
|
|
./mvnw spring-boot:run
|
|
else
|
|
echo "👋 Для запуска используйте: ./mvnw spring-boot:run"
|
|
fi
|