devops prepare
Some checks reported errors
continuous-integration/drone Build encountered an error

This commit is contained in:
2025-09-11 07:40:57 +09:00
parent 5ddc540f9e
commit 1c47c11eb1
10 changed files with 1134 additions and 18 deletions

126
Makefile
View File

@@ -1,6 +1,10 @@
# Quiz Bot - Makefile для удобства управления
.PHONY: install init demo test run clean help
.PHONY: install init demo test run clean help docker-* dev-*
# =============================================================================
# Development Commands
# =============================================================================
# Установка зависимостей
install:
@@ -34,29 +38,123 @@ check:
reload-questions:
python load_questions.py
# =============================================================================
# Docker Commands
# =============================================================================
# Сборка Docker образа
docker-build:
docker build -t quiz-bot:dev .
# Запуск через Docker Compose (development)
docker-dev:
./scripts/dev.sh run
# Остановка Docker сервисов
docker-stop:
./scripts/dev.sh stop
# Docker тесты
docker-test:
./scripts/dev.sh test
# Просмотр Docker логов
docker-logs:
./scripts/dev.sh logs
# Очистка Docker ресурсов
docker-clean:
./scripts/dev.sh cleanup
# Production деплой
docker-deploy:
./scripts/deploy.sh deploy
# Production мониторинг
docker-monitor:
./scripts/deploy.sh monitor
# =============================================================================
# CI/CD Commands
# =============================================================================
# Локальное тестирование pipeline
ci-test:
@echo "🧪 Запуск локального тестирования..."
python -m flake8 src/ config/ --max-line-length=88 || true
python -m pytest test_*.py -v || true
# Проверка кода
lint:
@echo "🔍 Проверка кода..."
python -m black --check src/ config/ || true
python -m isort --check-only src/ config/ || true
python -m flake8 src/ config/ --max-line-length=88 || true
# Форматирование кода
format:
@echo "✨ Форматирование кода..."
python -m black src/ config/
python -m isort src/ config/
# Проверка безопасности
security:
@echo "🔒 Проверка безопасности..."
python -m safety check || true
python -m bandit -r src/ || true
# =============================================================================
# Utility Commands
# =============================================================================
# Очистка временных файлов
clean:
find . -type d -name "__pycache__" -exec rm -rf {} +
find . -name "*.pyc" -delete
@echo "🧹 Очистка временных файлов..."
find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true
find . -name "*.pyc" -delete 2>/dev/null || true
find . -name "*.pyo" -delete 2>/dev/null || true
find . -name "*~" -delete 2>/dev/null || true
# Создание backup базы данных
backup:
cp data/quiz_bot.db data/quiz_bot_backup_$(shell date +%Y%m%d_%H%M%S).db
@echo "💾 Создание backup базы данных..."
mkdir -p backups
cp data/quiz_bot.db backups/quiz_bot_backup_$(shell date +%Y%m%d_%H%M%S).db
@echo "✅ Backup создан: backups/quiz_bot_backup_$(shell date +%Y%m%d_%H%M%S).db"
# Установка dev зависимостей
install-dev:
pip install -r requirements.txt
pip install black isort flake8 mypy pytest pytest-asyncio pytest-cov safety bandit
# Показать справку
help:
@echo "📋 Доступные команды:"
@echo "🤖 Quiz Bot - Команды управления"
@echo "=================================="
@echo ""
@echo "📋 Development:"
@echo " make install - Установить зависимости"
@echo " make init - Инициализировать проект"
@echo " make demo - Демонстрация возможностей"
@echo " make test - Интерактивный тест"
@echo " make test-bot - Проверить импорты и конфигурацию"
@echo " make run - Запустить бота"
@echo " make check - Проверить готовность"
@echo " make reload-questions - Перезагрузить вопросы"
@echo " make backup - Создать backup БД"
@echo " make clean - Очистить временные файлы"
@echo " make install-dev - Установить dev зависимости"
@echo " make init - Инициализировать проект"
@echo " make demo - Демонстрация возможностей"
@echo " make test - Интерактивный тест"
@echo " make run - Запустить бота"
@echo " make check - Проверить готовность"
@echo " make backup - Создать backup БД"
@echo ""
@echo "🐳 Docker:"
@echo " make docker-build - Собрать Docker образ"
@echo " make docker-dev - Запуск в Docker (dev)"
@echo " make docker-test - Docker тесты"
@echo " make docker-logs - Просмотр логов"
@echo " make docker-deploy - Production деплой"
@echo " make docker-monitor - Production мониторинг"
@echo ""
@echo "🔧 Code Quality:"
@echo " make lint - Проверка кода"
@echo " make format - Форматирование кода"
@echo " make security - Проверка безопасности"
@echo " make ci-test - Локальное CI тестирование"
@echo ""
@echo "🚀 Быстрый старт:"
@echo " 1. make install"