first commit
This commit is contained in:
84
scripts/deploy.sh
Executable file
84
scripts/deploy.sh
Executable file
@ -0,0 +1,84 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Скрипт деплоя ProtekAuto CMS с SMS интеграцией
|
||||
set -e
|
||||
|
||||
echo "🚀 Начало деплоя ProtekAuto CMS..."
|
||||
|
||||
# Проверяем, что мы в правильной директории
|
||||
if [ ! -f "package.json" ]; then
|
||||
echo "❌ Ошибка: запустите скрипт из корневой директории проекта"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Останавливаем старые контейнеры
|
||||
echo "🛑 Остановка старых контейнеров..."
|
||||
docker-compose down --remove-orphans
|
||||
|
||||
# Проверяем переменные окружения
|
||||
echo "🔍 Проверка переменных окружения..."
|
||||
if [ ! -f "stack.env" ]; then
|
||||
echo "❌ Файл stack.env не найден"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Проверяем SMS конфигурацию
|
||||
echo "📱 Проверка SMS конфигурации..."
|
||||
source stack.env
|
||||
export $(cut -d= -f1 stack.env | grep -v '^#')
|
||||
|
||||
# Проверяем обязательные переменные для SMS
|
||||
if [ -z "$BEELINE_SMS_USER" ] || [ -z "$BEELINE_SMS_PASS" ]; then
|
||||
echo "⚠️ SMS переменные не настроены. SMS функции будут недоступны."
|
||||
echo " Для настройки SMS добавьте в stack.env:"
|
||||
echo " BEELINE_SMS_USER=ваш_логин"
|
||||
echo " BEELINE_SMS_PASS=ваш_пароль"
|
||||
echo " BEELINE_SMS_SENDER=Protekauto"
|
||||
echo ""
|
||||
read -p "Продолжить деплой без SMS? (y/n): " -n 1 -r
|
||||
echo ""
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "✅ SMS API настроен (пользователь: $BEELINE_SMS_USER)"
|
||||
fi
|
||||
|
||||
# Собираем новый образ
|
||||
echo "🔨 Сборка Docker образа..."
|
||||
docker-compose build --no-cache
|
||||
|
||||
# Запускаем новые контейнеры
|
||||
echo "🚀 Запуск новых контейнеров..."
|
||||
docker-compose up -d
|
||||
|
||||
# Ждем запуска
|
||||
echo "⏳ Ожидание запуска сервиса..."
|
||||
sleep 30
|
||||
|
||||
# Проверяем статус
|
||||
echo "🔍 Проверка статуса сервиса..."
|
||||
if docker-compose ps | grep -q "Up"; then
|
||||
echo "✅ Сервис успешно запущен!"
|
||||
|
||||
# Проверяем SMS API если настроен
|
||||
if [ ! -z "$BEELINE_SMS_USER" ] && [ ! -z "$BEELINE_SMS_PASS" ]; then
|
||||
echo "📱 Проверка SMS API..."
|
||||
sleep 5
|
||||
if curl -s -f "http://localhost:3000/api/sms/status" > /dev/null; then
|
||||
echo "✅ SMS API работает"
|
||||
else
|
||||
echo "⚠️ SMS API может быть недоступен"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "🎉 Деплой завершен успешно!"
|
||||
echo "🌐 CMS доступна по адресу: http://localhost:3000"
|
||||
echo "📊 Мониторинг SMS: http://localhost:3000/api/sms/status"
|
||||
else
|
||||
echo "❌ Ошибка при запуске сервиса"
|
||||
echo "Логи:"
|
||||
docker-compose logs
|
||||
exit 1
|
||||
fi
|
Reference in New Issue
Block a user