From 85bb63dd8298a54aa9156a241588449ec86e42a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=90=D0=BD=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=BF=D0=BE=D0=B2?= Date: Sat, 25 Oct 2025 13:59:47 +0300 Subject: [PATCH] =?UTF-8?q?refactor:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=D0=B0=20make=20docker=20setup-builder=20=D0=B8=20=D1=83=D0=B4?= =?UTF-8?q?=D0=B0=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D0=B0=D1=8F=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Добавлена команда 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 Это делает интерфейс более последовательным и понятным. --- Makefile | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index 107437f..5dd42b5 100644 --- a/Makefile +++ b/Makefile @@ -449,6 +449,19 @@ docker: else \ echo "ℹ️ Builder $(DOCKER_BUILDX_BUILDER) не найден"; \ 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 ""; \ @@ -479,6 +492,10 @@ docker: echo " 💡 Удаляет: builder контейнер"; \ echo " 💡 Полезно: при проблемах со сборкой"; \ echo ""; \ + echo " 🔧 make docker setup-builder - настройка multi-arch builder"; \ + echo " 💡 Создает: builder в контейнере (не в системе)"; \ + echo " 💡 Поддерживает: amd64 и arm64 архитектуры"; \ + echo ""; \ echo " 📊 make docker info - информация о собранных образах"; \ echo " 💡 Показывает: размер, дата создания, теги"; \ echo ""; \ @@ -490,30 +507,13 @@ docker: echo " ⚠️ УДАЛЯЕТ: все контейнеры, образы, тома, сети"; \ echo " ⚠️ ОСТАНОВИТ: все запущенные контейнеры"; \ echo " ⚠️ ТРЕБУЕТ: подтверждение пользователя"; \ - echo ""; \ - echo " 🔧 make docker-setup-builder - настройка multi-arch builder"; \ - echo " 💡 Создает: builder в контейнере (не в системе)"; \ - echo " 💡 Поддерживает: amd64 и arm64 архитектуры";; \ + echo "";; \ esac # ============================================================================= # ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ ДЛЯ 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: @@ -684,5 +684,5 @@ help: @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