refactor: Добавлена команда make docker setup-builder и удалена отдельная команда

- Добавлена команда setup-builder в секцию docker
- Удалена отдельная функция docker-setup-builder
- Обновлена справка с информацией о новой команде
- Исправлена синтаксическая ошибка в Makefile
- Добавлена пустая цель setup-builder для совместимости

Теперь доступны команды для работы с builder'ом:
- make docker setup-builder - настройка multi-arch builder
- make docker clean-builder - очистка multi-arch builder

Удаленная команда больше не работает:
- make docker-setup-builder -  No rule to make target

Это делает интерфейс более последовательным и понятным.
This commit is contained in:
Сергей Антропов
2025-10-25 13:59:47 +03:00
parent 89d39921f6
commit 85bb63dd82

View File

@@ -449,6 +449,19 @@ docker:
else \ else \
echo " Builder $(DOCKER_BUILDX_BUILDER) не найден"; \ echo " Builder $(DOCKER_BUILDX_BUILDER) не найден"; \
fi;; \ fi;; \
setup-builder) \
echo "🔧 Настройка multi-arch builder в контейнере..."; \
if ! docker buildx ls | grep -q $(DOCKER_BUILDX_BUILDER); then \
echo "📦 Создание builder $(DOCKER_BUILDX_BUILDER) в контейнере..."; \
docker buildx create --name $(DOCKER_BUILDX_BUILDER) --driver docker-container --bootstrap --use; \
echo "⏳ Ожидание запуска builder..."; \
sleep 5; \
else \
echo "✅ Builder $(DOCKER_BUILDX_BUILDER) уже существует"; \
docker buildx use $(DOCKER_BUILDX_BUILDER); \
fi; \
echo "🔍 Проверка статуса builder..."; \
docker buildx inspect $(DOCKER_BUILDX_BUILDER) --bootstrap;; \
*) \ *) \
echo "🎯 Доступные команды:"; \ echo "🎯 Доступные команды:"; \
echo ""; \ echo ""; \
@@ -479,6 +492,10 @@ docker:
echo " 💡 Удаляет: builder контейнер"; \ echo " 💡 Удаляет: builder контейнер"; \
echo " 💡 Полезно: при проблемах со сборкой"; \ echo " 💡 Полезно: при проблемах со сборкой"; \
echo ""; \ echo ""; \
echo " 🔧 make docker setup-builder - настройка multi-arch builder"; \
echo " 💡 Создает: builder в контейнере (не в системе)"; \
echo " 💡 Поддерживает: amd64 и arm64 архитектуры"; \
echo ""; \
echo " 📊 make docker info - информация о собранных образах"; \ echo " 📊 make docker info - информация о собранных образах"; \
echo " 💡 Показывает: размер, дата создания, теги"; \ echo " 💡 Показывает: размер, дата создания, теги"; \
echo ""; \ echo ""; \
@@ -490,30 +507,13 @@ docker:
echo " ⚠️ УДАЛЯЕТ: все контейнеры, образы, тома, сети"; \ echo " ⚠️ УДАЛЯЕТ: все контейнеры, образы, тома, сети"; \
echo " ⚠️ ОСТАНОВИТ: все запущенные контейнеры"; \ echo " ⚠️ ОСТАНОВИТ: все запущенные контейнеры"; \
echo " ⚠️ ТРЕБУЕТ: подтверждение пользователя"; \ echo " ⚠️ ТРЕБУЕТ: подтверждение пользователя"; \
echo ""; \ echo "";; \
echo " 🔧 make docker-setup-builder - настройка multi-arch builder"; \
echo " 💡 Создает: builder в контейнере (не в системе)"; \
echo " 💡 Поддерживает: amd64 и arm64 архитектуры";; \
esac esac
# ============================================================================= # =============================================================================
# ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ ДЛЯ DOCKER # ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ ДЛЯ DOCKER
# ============================================================================= # =============================================================================
# Настройка multi-arch builder
docker-setup-builder:
@echo "🔧 Настройка multi-arch builder в контейнере..."; \
if ! docker buildx ls | grep -q $(DOCKER_BUILDX_BUILDER); then \
echo "📦 Создание builder $(DOCKER_BUILDX_BUILDER) в контейнере..."; \
docker buildx create --name $(DOCKER_BUILDX_BUILDER) --driver docker-container --bootstrap --use; \
echo "⏳ Ожидание запуска builder..."; \
sleep 5; \
else \
echo "✅ Builder $(DOCKER_BUILDX_BUILDER) уже существует"; \
docker buildx use $(DOCKER_BUILDX_BUILDER); \
fi; \
echo "🔍 Проверка статуса builder..."; \
docker buildx inspect $(DOCKER_BUILDX_BUILDER) --bootstrap
# Извлечение тега из базового образа # Извлечение тега из базового образа
docker-get-base-tag: docker-get-base-tag:
@@ -684,5 +684,5 @@ help:
@echo "==========================================" @echo "=========================================="
# Пустые цели для совместимости # Пустые цели для совместимости
view create edit show delete lint deploy new advanced list info test build push pull clean prepare update run stop purge clean-builder: view create edit show delete lint deploy new advanced list info test build push pull clean prepare update run stop purge clean-builder setup-builder:
@true @true