#!/bin/bash # Скрипт для создания релиза Telegram Tinder Bot # Получение версии из package.json VERSION=$(grep -m1 "version" package.json | cut -d'"' -f4) RELEASE_NAME="tg-tinder-bot-v$VERSION" RELEASE_DIR="bin/releases/$RELEASE_NAME" echo "🚀 Создание релиза $RELEASE_NAME" # Создание директории релиза mkdir -p "$RELEASE_DIR" # Очистка временных файлов echo "🧹 Очистка временных файлов..." rm -rf dist node_modules # Установка зависимостей echo "📦 Установка зависимостей production..." npm ci --only=production # Сборка проекта echo "🔧 Сборка проекта..." npm run build # Копирование файлов релиза echo "📋 Копирование файлов..." cp -r dist "$RELEASE_DIR/" cp -r src/locales "$RELEASE_DIR/dist/" cp package.json package-lock.json .env.example "$RELEASE_DIR/" cp -r bin/start_bot.* bin/install_ubuntu.sh "$RELEASE_DIR/" cp README.md LICENSE "$RELEASE_DIR/" 2>/dev/null || echo "Файлы документации не найдены" cp sql/consolidated.sql "$RELEASE_DIR/" cp docker-compose.yml Dockerfile "$RELEASE_DIR/" cp deploy.sh "$RELEASE_DIR/" && chmod +x "$RELEASE_DIR/deploy.sh" # Создание README для релиза cat > "$RELEASE_DIR/RELEASE.md" << EOL # Telegram Tinder Bot v$VERSION Эта папка содержит релиз Telegram Tinder Bot версии $VERSION. ## Содержимое - \`dist/\` - Скомпилированный код - \`package.json\` - Зависимости и скрипты - \`.env.example\` - Пример конфигурации - \`docker-compose.yml\` и \`Dockerfile\` - Для запуска через Docker - \`consolidated.sql\` - SQL-скрипт для инициализации базы данных - \`deploy.sh\` - Скрипт для простого деплоя ## Быстрый старт 1. Создайте файл \`.env\` на основе \`.env.example\` 2. Запустите бота одним из способов: - Через Docker: \`./deploy.sh\` - Через Node.js: \`node dist/bot.js\` ## Дата релиза $(date "+%d.%m.%Y %H:%M") EOL # Архивирование релиза echo "📦 Создание архива..." cd bin/releases zip -r "$RELEASE_NAME.zip" "$RELEASE_NAME" cd ../.. echo "✅ Релиз создан успешно!" echo "📂 Релиз доступен в: bin/releases/$RELEASE_NAME" echo "📦 Архив релиза: bin/releases/$RELEASE_NAME.zip"