From 6a8998c0ec5aad07f20ae3568705f32e942e5d28 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 16:57:42 +0300 Subject: [PATCH] =?UTF-8?q?refactor:=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20dep?= =?UTF-8?q?loy=20=D0=B2=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=B9=D0=BD=D0=B5?= =?UTF-8?q?=D1=80=20ansible-controller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Команда make role deploy теперь выполняется в контейнере - Добавлено монтирование ~/.ssh для SSH доступа - Все команды (lint, test, deploy) работают в контейнерах - Не требуется установка Ansible на локальную машину Автор: Сергей Антропов Сайт: https://devops.org.ru --- Makefile | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index f5f40d9..279d17f 100644 --- a/Makefile +++ b/Makefile @@ -87,14 +87,22 @@ role: fi; \ echo "📋 Используется inventory: inventory/hosts.ini"; \ echo "📄 Содержимое inventory:"; \ - cat inventory/hosts.ini; \ + docker run --rm -v "$(PWD):/workspace" -w /workspace $(DOCKER_IMAGE) cat inventory/hosts.ini || cat inventory/hosts.ini; \ echo ""; \ - echo "🚀 Запуск развертывания..."; \ - ansible-playbook -i inventory/hosts.ini deploy.yml --check; \ + echo "🚀 Запуск развертывания (в контейнере)..."; \ + docker run --rm --name $(CONTAINER_NAME) -v "$(PWD):/workspace" -w /workspace \ + -v ~/.ssh:/root/.ssh:ro \ + -e ANSIBLE_FORCE_COLOR=1 \ + $(DOCKER_IMAGE) \ + bash -c "ansible-playbook -i inventory/hosts.ini deploy.yml --check"; \ echo ""; \ read -p "Продолжить развертывание? (y/N): " confirm; \ if [ "$$confirm" = "y" ] || [ "$$confirm" = "Y" ]; then \ - ansible-playbook -i inventory/hosts.ini deploy.yml; \ + docker run --rm --name $(CONTAINER_NAME) -v "$(PWD):/workspace" -w /workspace \ + -v ~/.ssh:/root/.ssh:ro \ + -e ANSIBLE_FORCE_COLOR=1 \ + $(DOCKER_IMAGE) \ + bash -c "ansible-playbook -i inventory/hosts.ini deploy.yml"; \ else \ echo "❌ Развертывание отменено"; \ fi;; \