feat: добавлена возможность проверки отдельной роли через make role lint
Some checks failed
Ansible Testing / lint (push) Has been cancelled
Ansible Testing / test (default) (push) Has been cancelled
Ansible Testing / test (minimal) (push) Has been cancelled
Ansible Testing / test (performance) (push) Has been cancelled
Ansible Testing / deploy-check (push) Has been cancelled
Some checks failed
Ansible Testing / lint (push) Has been cancelled
Ansible Testing / test (default) (push) Has been cancelled
Ansible Testing / test (minimal) (push) Has been cancelled
Ansible Testing / test (performance) (push) Has been cancelled
Ansible Testing / deploy-check (push) Has been cancelled
- Добавлен параметр для указания конкретной роли: make role lint [role] - Без параметра проверяются все роли: make role lint - Добавлена валидация существования роли с показом доступных ролей - Обновлена справка в Makefile с примерами использования - Исправлены ошибки линтера: trailing spaces и комментарии Примеры использования: - make role lint - проверить все роли - make role lint devops - проверить только роль devops - make role lint ping - проверить только роль ping
This commit is contained in:
22
Makefile
22
Makefile
@@ -48,8 +48,21 @@ BASE_IMAGES := altlinux/p9 astralinux/astra-1.7 redos/redos:9 registry.access.re
|
|||||||
role:
|
role:
|
||||||
@case "$(word 2, $(MAKECMDGOALS))" in \
|
@case "$(word 2, $(MAKECMDGOALS))" in \
|
||||||
lint) \
|
lint) \
|
||||||
echo "🔍 Проверка синтаксиса ролей ..."; \
|
ROLE_NAME="$(word 3, $(MAKECMDGOALS))"; \
|
||||||
|
if [ -z "$$ROLE_NAME" ]; then \
|
||||||
|
echo "🔍 Проверка синтаксиса всех ролей ..."; \
|
||||||
docker run --rm --name $(CONTAINER_NAME) -v "$(PWD):/workspace" -w /workspace -e ANSIBLE_FORCE_COLOR=1 $(DOCKER_IMAGE) bash -c "ansible-lint roles/ --config-file .ansible-lint || true"; \
|
docker run --rm --name $(CONTAINER_NAME) -v "$(PWD):/workspace" -w /workspace -e ANSIBLE_FORCE_COLOR=1 $(DOCKER_IMAGE) bash -c "ansible-lint roles/ --config-file .ansible-lint || true"; \
|
||||||
|
else \
|
||||||
|
echo "🔍 Проверка синтаксиса роли: $$ROLE_NAME"; \
|
||||||
|
if [ -d "roles/$$ROLE_NAME" ]; then \
|
||||||
|
docker run --rm --name $(CONTAINER_NAME) -v "$(PWD):/workspace" -w /workspace -e ANSIBLE_FORCE_COLOR=1 $(DOCKER_IMAGE) bash -c "ansible-lint roles/$$ROLE_NAME/ --config-file .ansible-lint || true"; \
|
||||||
|
else \
|
||||||
|
echo "❌ Роль '$$ROLE_NAME' не найдена в roles/"; \
|
||||||
|
echo "📋 Доступные роли:"; \
|
||||||
|
ls -1 roles/ | grep -v "\.yml$$" | sed 's/^/ - /'; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
echo "✅ Lint завершен";; \
|
echo "✅ Lint завершен";; \
|
||||||
test) \
|
test) \
|
||||||
@@ -130,8 +143,11 @@ role:
|
|||||||
echo " ansible-playbook -i inventory/hosts.ini roles/deploy.yml --check"; \
|
echo " ansible-playbook -i inventory/hosts.ini roles/deploy.yml --check"; \
|
||||||
echo " 💡 Документация: docs/deploy-yml-customization.md"; \
|
echo " 💡 Документация: docs/deploy-yml-customization.md"; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
echo " 🔍 make role lint - проверить синтаксис ролей"; \
|
echo " 🔍 make role lint [role] - проверить синтаксис ролей"; \
|
||||||
echo " 💡 Использует: ansible-lint"; \
|
echo " 💡 Использует: ansible-lint"; \
|
||||||
|
echo " 💡 Без параметра: проверяет все роли"; \
|
||||||
|
echo " 💡 С параметром: проверяет конкретную роль"; \
|
||||||
|
echo " 💡 Примеры: make role lint, make role lint devops"; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
echo " 📋 make role list - показать все роли"; \
|
echo " 📋 make role list - показать все роли"; \
|
||||||
echo " 💡 Показывает: список всех ролей в roles/"; \
|
echo " 💡 Показывает: список всех ролей в roles/"; \
|
||||||
@@ -932,7 +948,7 @@ help:
|
|||||||
@echo " dockerfiles/ - Docker образы для тестирования"
|
@echo " dockerfiles/ - Docker образы для тестирования"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "🚀 ОСНОВНЫЕ КОМАНДЫ:"
|
@echo "🚀 ОСНОВНЫЕ КОМАНДЫ:"
|
||||||
@echo " make role lint - проверить синтаксис ролей"
|
@echo " make role lint [role] - проверить синтаксис ролей (все или конкретную)"
|
||||||
@echo " make role test [preset] - протестировать роли с preset'ом"
|
@echo " make role test [preset] - протестировать роли с preset'ом"
|
||||||
@echo " make role deploy - развернуть роли на реальные серверы"
|
@echo " make role deploy - развернуть роли на реальные серверы"
|
||||||
@echo " make role list - показать все роли"
|
@echo " make role list - показать все роли"
|
||||||
|
|||||||
Reference in New Issue
Block a user