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; \
|
||||
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;; \
|
||||
|
||||
Reference in New Issue
Block a user