pre-deploy commit
This commit is contained in:
72
bin/create_release.sh
Normal file
72
bin/create_release.sh
Normal file
@@ -0,0 +1,72 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user