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:
24
Makefile
24
Makefile
@@ -48,8 +48,21 @@ BASE_IMAGES := altlinux/p9 astralinux/astra-1.7 redos/redos:9 registry.access.re
|
||||
role:
|
||||
@case "$(word 2, $(MAKECMDGOALS))" in \
|
||||
lint) \
|
||||
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"; \
|
||||
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"; \
|
||||
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 "✅ Lint завершен";; \
|
||||
test) \
|
||||
@@ -130,8 +143,11 @@ role:
|
||||
echo " ansible-playbook -i inventory/hosts.ini roles/deploy.yml --check"; \
|
||||
echo " 💡 Документация: docs/deploy-yml-customization.md"; \
|
||||
echo ""; \
|
||||
echo " 🔍 make role lint - проверить синтаксис ролей"; \
|
||||
echo " 🔍 make role lint [role] - проверить синтаксис ролей"; \
|
||||
echo " 💡 Использует: ansible-lint"; \
|
||||
echo " 💡 Без параметра: проверяет все роли"; \
|
||||
echo " 💡 С параметром: проверяет конкретную роль"; \
|
||||
echo " 💡 Примеры: make role lint, make role lint devops"; \
|
||||
echo ""; \
|
||||
echo " 📋 make role list - показать все роли"; \
|
||||
echo " 💡 Показывает: список всех ролей в roles/"; \
|
||||
@@ -932,7 +948,7 @@ help:
|
||||
@echo " dockerfiles/ - Docker образы для тестирования"
|
||||
@echo ""
|
||||
@echo "🚀 ОСНОВНЫЕ КОМАНДЫ:"
|
||||
@echo " make role lint - проверить синтаксис ролей"
|
||||
@echo " make role lint [role] - проверить синтаксис ролей (все или конкретную)"
|
||||
@echo " make role test [preset] - протестировать роли с preset'ом"
|
||||
@echo " make role deploy - развернуть роли на реальные серверы"
|
||||
@echo " make role list - показать все роли"
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
hosts: all
|
||||
roles:
|
||||
- ping
|
||||
#- devops
|
||||
# - devops
|
||||
|
||||
@@ -44,7 +44,7 @@ devops_os_config:
|
||||
groups: ["sudo", "docker"]
|
||||
sudo_file: "/etc/sudoers.d/devops"
|
||||
sudo_validate: "visudo -cf %s"
|
||||
|
||||
|
||||
# RHEL/CentOS/Rocky/AlmaLinux
|
||||
rhel:
|
||||
groups: ["wheel", "docker"]
|
||||
@@ -62,19 +62,19 @@ devops_os_config:
|
||||
groups: ["wheel", "docker"]
|
||||
sudo_file: "/etc/sudoers.d/devops"
|
||||
sudo_validate: "visudo -cf %s"
|
||||
|
||||
|
||||
# Astra Linux
|
||||
astra:
|
||||
groups: ["sudo", "docker"]
|
||||
sudo_file: "/etc/sudoers.d/devops"
|
||||
sudo_validate: "visudo -cf %s"
|
||||
|
||||
|
||||
# ALT Linux
|
||||
alt:
|
||||
groups: ["wheel", "docker"]
|
||||
sudo_file: "/etc/sudoers.d/devops"
|
||||
sudo_validate: "visudo -cf %s"
|
||||
|
||||
|
||||
# RedOS
|
||||
redos:
|
||||
groups: ["wheel", "docker"]
|
||||
|
||||
Reference in New Issue
Block a user