🔧 Исправлена поддержка Docker Compose v2
Some checks failed
continuous-integration/drone/push Build is failing

 Fixes:
- Добавлена поддержка Docker Compose v2 (docker compose)
- Автоматическое определение версии Docker Compose в Makefile
- Обновлены скрипты master-deploy.sh и pre-deploy-check.sh
- Добавлена утилита detect-docker-compose.sh
- Исправлены команды в функции setup_database

🔧 Изменения:
- Makefile: улучшенное определение команды Docker Compose
- master-deploy.sh: использует make команды вместо прямых вызовов
- pre-deploy-check.sh: проверка обеих версий Docker Compose
- Добавлена команда shell-exec в Makefile

Теперь скрипт корректно работает с Docker Compose v2 на современных системах.
This commit is contained in:
2025-11-04 20:12:09 +09:00
parent e1bb1ab90a
commit 280a6c4ad0
4 changed files with 109 additions and 17 deletions

View File

@@ -1,8 +1,13 @@
# CatLink Development and Deployment Makefile
# ================================================
# Docker Compose command detection
DOCKER_COMPOSE := $(shell which docker-compose 2>/dev/null || echo "docker compose")
# Docker Compose command detection (v1 or v2)
DOCKER_COMPOSE := $(shell which docker-compose 2>/dev/null && echo "docker-compose" || (docker compose version >/dev/null 2>&1 && echo "docker compose" || echo ""))
# Check if Docker Compose is available
ifeq ($(DOCKER_COMPOSE),)
$(error Docker Compose not found. Please install Docker Compose v1 or v2)
endif
.PHONY: help install update dev build deploy ssl clean logs test restart shell backup restore
@@ -184,6 +189,12 @@ logs-frontend: ## Логи frontend
shell: ## Django shell
@$(DOCKER_COMPOSE) exec web python manage.py shell
shell-bash: ## Bash в контейнере backend
@$(DOCKER_COMPOSE) exec web bash
shell-exec: ## Выполнить команду в контейнере (использование: make shell-exec CMD="python manage.py migrate")
@$(DOCKER_COMPOSE) exec web $(CMD)
shell-db: ## Подключение к базе данных
@$(DOCKER_COMPOSE) exec db psql -U links_user -d links_db