refactor: перенос команды deploy в контейнер ansible-controller
- Команда make role deploy теперь выполняется в контейнере - Добавлено монтирование ~/.ssh для SSH доступа - Все команды (lint, test, deploy) работают в контейнерах - Не требуется установка Ansible на локальную машину Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
16
Makefile
16
Makefile
@@ -87,14 +87,22 @@ role:
|
|||||||
fi; \
|
fi; \
|
||||||
echo "📋 Используется inventory: inventory/hosts.ini"; \
|
echo "📋 Используется inventory: inventory/hosts.ini"; \
|
||||||
echo "📄 Содержимое inventory:"; \
|
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 ""; \
|
||||||
echo "🚀 Запуск развертывания..."; \
|
echo "🚀 Запуск развертывания (в контейнере)..."; \
|
||||||
ansible-playbook -i inventory/hosts.ini deploy.yml --check; \
|
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 ""; \
|
echo ""; \
|
||||||
read -p "Продолжить развертывание? (y/N): " confirm; \
|
read -p "Продолжить развертывание? (y/N): " confirm; \
|
||||||
if [ "$$confirm" = "y" ] || [ "$$confirm" = "Y" ]; then \
|
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 \
|
else \
|
||||||
echo "❌ Развертывание отменено"; \
|
echo "❌ Развертывание отменено"; \
|
||||||
fi;; \
|
fi;; \
|
||||||
|
|||||||
Reference in New Issue
Block a user