some fixes
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2025-11-02 07:30:42 +09:00
parent 420a009c4c
commit e6776015fc

View File

@@ -1,6 +1,9 @@
# CatLink Development and Deployment Makefile
# ================================================
# Docker Compose command detection
DOCKER_COMPOSE := $(shell which docker-compose 2>/dev/null || echo "docker compose")
.PHONY: help install update dev build deploy ssl clean logs test restart shell backup restore
# Default target
@@ -23,21 +26,21 @@ install: ## Установка и первый запуск
dev: ## Запуск в режиме разработки
@echo "🔧 Запуск в режиме разработки..."
@docker-compose up
@$(DOCKER_COMPOSE) up
dev-bg: ## Запуск в фоне для разработки
@echo "🔧 Запуск в фоне..."
@docker-compose up -d
@$(DOCKER_COMPOSE) up -d
@echo "✅ Запущено в фоне"
@echo "📱 Frontend: http://localhost:3000"
@echo "🔧 Backend: http://localhost:8000"
up: ## Запуск с пересборкой (legacy)
@docker-compose up -d --build
@$(DOCKER_COMPOSE) up -d --build
down: ## Остановка всех сервисов
@echo "⏹️ Остановка сервисов..."
@docker-compose down
@$(DOCKER_COMPOSE) down
@echo "✅ Сервисы остановлены"
stop: ## Остановка всех сервисов (alias)
@@ -45,37 +48,37 @@ stop: ## Остановка всех сервисов (alias)
restart: ## Перезапуск сервисов
@echo "🔄 Перезапуск сервисов..."
@docker-compose down
@docker-compose up -d
@$(DOCKER_COMPOSE) down
@$(DOCKER_COMPOSE) up -d
@echo "✅ Сервисы перезапущены"
# === Build Commands ===
build: ## Сборка без кэша
@echo "🏗️ Сборка контейнеров..."
@docker-compose build --no-cache
@$(DOCKER_COMPOSE) build --no-cache
@echo "✅ Сборка завершена"
build-prod: ## Сборка для продакшена
@echo "🏗️ Сборка для продакшена..."
@docker-compose -f docker-compose.yml -f docker-compose.prod.yml build --no-cache
@$(DOCKER_COMPOSE) -f docker-compose.yml -f docker-compose.prod.yml build --no-cache
@echo "✅ Продакшен сборка готова"
update: ## Обновление зависимостей и пересборка
@echo "📦 Обновление зависимостей..."
@git pull
@docker-compose down
@docker-compose build --no-cache
@docker-compose up -d
@$(DOCKER_COMPOSE) down
@$(DOCKER_COMPOSE) build --no-cache
@$(DOCKER_COMPOSE) up -d
@echo "✅ Обновление завершено"
# === Production Deployment ===
deploy: ## Развертывание в продакшен
@echo "🚀 Развертывание в продакшен..."
@docker-compose -f docker-compose.yml -f docker-compose.prod.yml down
@docker-compose -f docker-compose.yml -f docker-compose.prod.yml build --no-cache
@docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
@$(DOCKER_COMPOSE) -f docker-compose.yml -f docker-compose.prod.yml down
@$(DOCKER_COMPOSE) -f docker-compose.yml -f docker-compose.prod.yml build --no-cache
@$(DOCKER_COMPOSE) -f docker-compose.yml -f docker-compose.prod.yml up -d
@echo "✅ Продакшен развернут"
# === SSL and Security ===
@@ -86,7 +89,7 @@ ssl: ## Настройка SSL с Let's Encrypt
echo "⚠️ Файл docker-compose.ssl.yml не найден. Создание..."; \
$(MAKE) ssl-setup; \
fi
@docker-compose -f docker-compose.yml -f docker-compose.ssl.yml up -d
@$(DOCKER_COMPOSE) -f docker-compose.yml -f docker-compose.ssl.yml up -d
@echo "✅ SSL настроен"
ssl-setup: ## Создание конфигурации SSL
@@ -110,40 +113,40 @@ ssl-cert: ## Получение SSL сертификата
migrate: ## Выполнить миграции базы данных
@echo "🗄️ Выполнение миграций..."
@docker-compose exec web python manage.py migrate
@$(DOCKER_COMPOSE) exec web python manage.py migrate
@echo "✅ Миграции выполнены"
makemigrations: ## Создать новые миграции
@echo "🗄️ Создание миграций..."
@docker-compose exec web python manage.py makemigrations
@$(DOCKER_COMPOSE) exec web python manage.py makemigrations
@echo "✅ Миграции созданы"
superuser: ## Создать суперпользователя
@echo "👤 Создание суперпользователя..."
@docker-compose exec web python manage.py createsuperuser
@$(DOCKER_COMPOSE) exec web python manage.py createsuperuser
@echo "✅ Суперпользователь создан"
# === Maintenance ===
logs: ## Просмотр логов
@docker-compose logs -f
@$(DOCKER_COMPOSE) logs -f
logs-web: ## Логи backend
@docker-compose logs -f web
@$(DOCKER_COMPOSE) logs -f web
logs-frontend: ## Логи frontend
@docker-compose logs -f frontend
@$(DOCKER_COMPOSE) logs -f frontend
shell: ## Django shell
@docker-compose exec web python manage.py shell
@$(DOCKER_COMPOSE) exec web python manage.py shell
shell-db: ## Подключение к базе данных
@docker-compose exec db psql -U links_user -d links_db
@$(DOCKER_COMPOSE) exec db psql -U links_user -d links_db
backup: ## Создать бэкап базы данных
@echo "💾 Создание бэкапа..."
@mkdir -p backups
@docker-compose exec db pg_dump -U links_user links_db > backups/backup_$(shell date +%Y%m%d_%H%M%S).sql
@$(DOCKER_COMPOSE) exec db pg_dump -U links_user links_db > backups/backup_$(shell date +%Y%m%d_%H%M%S).sql
@echo "✅ Бэкап создан в папке backups/"
restore: ## Восстановить из бэкапа
@@ -157,22 +160,22 @@ restore: ## Восстановить из бэкапа
test: ## Запуск тестов
@echo "🧪 Запуск тестов..."
@docker-compose exec web python manage.py test
@$(DOCKER_COMPOSE) exec web python manage.py test
@echo "✅ Тесты завершены"
test-legacy: ## Запуск тестов (legacy pytest)
@docker-compose exec web pytest --maxfail=1 --disable-warnings -q
@$(DOCKER_COMPOSE) exec web pytest --maxfail=1 --disable-warnings -q
lint: ## Проверка кода
@echo "🔍 Проверка кода..."
@docker-compose exec web flake8 . || true
@docker-compose exec frontend npm run lint || true
@$(DOCKER_COMPOSE) exec web flake8 . || true
@$(DOCKER_COMPOSE) exec frontend npm run lint || true
@echo "✅ Проверка завершена"
format: ## Форматирование кода
@echo "🎨 Форматирование кода..."
@docker-compose exec web black . || true
@docker-compose exec frontend npm run format || true
@$(DOCKER_COMPOSE) exec web black . || true
@$(DOCKER_COMPOSE) exec frontend npm run format || true
@echo "✅ Код отформатирован"
# === CI/CD Operations ===
@@ -272,7 +275,7 @@ ssl-host-setup: ## Локальная установка nginx + certbot и на
clean: ## Очистка системы
@echo "🧹 Очистка..."
@docker-compose down -v
@$(DOCKER_COMPOSE) down -v
@docker system prune -f
@docker volume prune -f
@echo "✅ Очистка завершена"
@@ -294,7 +297,7 @@ clean-all: ## Полная очистка (ОСТОРОЖНО!)
status: ## Статус сервисов
@echo "📊 Статус сервисов:"
@docker-compose ps
@$(DOCKER_COMPOSE) ps
@echo ""
@echo "🌐 URL-адреса:"
@echo " Frontend: http://localhost:3000"
@@ -306,7 +309,7 @@ health: ## Проверка здоровья сервисов
@echo "🏥 Проверка здоровья..."
@curl -s http://localhost:3000 > /dev/null && echo "✅ Frontend: OK" || echo "❌ Frontend: ERROR"
@curl -s http://localhost:8000/api/ > /dev/null && echo "✅ Backend: OK" || echo "❌ Backend: ERROR"
@docker-compose exec db pg_isready -U links_user && echo "✅ Database: OK" || echo "❌ Database: ERROR"
@$(DOCKER_COMPOSE) exec db pg_isready -U links_user && echo "✅ Database: OK" || echo "❌ Database: ERROR"
info: ## Информация о проекте
@echo "📋 CatLink - Информация о проекте"