feat: Добавлена поддержка ansible-lint с настройками для пропуска ошибок
- Добавлена команда make lint для проверки всего проекта - Обновлена команда make role lint для использования .ansible-lint - Добавлен файл .ansible-lint с настройками для пропуска ошибок: - fqcn: позволяет использовать короткие имена модулей - yaml[new-line-at-end-of-file]: не требует новой строки в конце YAML - yaml[truthy]: позволяет использовать yes/no вместо true/false - yaml[line-length]: не ограничивает длину строк в YAML - var-naming[no-role-prefix]: не требует префиксов для переменных - ignore-errors: позволяет использовать ignore_errors: yes Обновления в Makefile: - make lint: проверяет весь проект (molecule, playbooks, roles) - make role lint: использует --config-file /ansible/.ansible-lint - Добавлена команда lint в справку make help Обновления в документации: - README.md: добавлена команда make lint - docs/api.md: добавлены разделы Ansible-lint команды и настройки Преимущества: - Единообразная проверка всего проекта - Гибкие настройки для пропуска нежелательных ошибок - Автоматическое использование конфигурационного файла - Подробная документация по настройкам Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
14
Makefile
14
Makefile
@@ -73,7 +73,7 @@ help: ## Показать справку по всем командам
|
||||
@awk 'BEGIN {FS = ":.*?## "} /^role-[a-zA-Z_-]+:.*?## / {printf " $(CYAN)%-20s$(RESET) %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||||
@echo ""
|
||||
@echo "$(GREEN)Утилиты:$(RESET)"
|
||||
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " $(CYAN)%-20s$(RESET) %s\n", $$1, $$2}' $(MAKEFILE_LIST) | grep -E "^(env|vault|git|docker|report|snapshot|cleanup)"
|
||||
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " $(CYAN)%-20s$(RESET) %s\n", $$1, $$2}' $(MAKEFILE_LIST) | grep -E "^(lint|env|vault|git|docker|report|snapshot|cleanup)"
|
||||
|
||||
# =============================================================================
|
||||
# ИНИЦИАЛИЗАЦИЯ И НАСТРОЙКА
|
||||
@@ -401,7 +401,7 @@ role: ## Управление ролями (list|create|edit|test|lint|deploy)
|
||||
$(MAKE) lab test LAB_SPEC=molecule/presets/minimal.yml;; \
|
||||
lint) \
|
||||
echo "$(YELLOW)🔍 Проверяем роли...$(RESET)"; \
|
||||
docker exec ansible-controller bash -lc 'ansible-lint $(ROLES_DIR)/*'; \
|
||||
docker exec ansible-controller bash -lc 'ansible-lint --config-file /ansible/.ansible-lint $(ROLES_DIR)/*'; \
|
||||
echo "$(GREEN)✅ Проверка завершена$(RESET)";; \
|
||||
deploy) \
|
||||
echo "$(PURPLE)🚀 Развертываем роли...$(RESET)"; \
|
||||
@@ -599,6 +599,16 @@ cleanup: ## Очистить лабораторию
|
||||
# УТИЛИТЫ
|
||||
# =============================================================================
|
||||
|
||||
.PHONY: lint
|
||||
lint: ## Проверить весь проект на ошибки
|
||||
@echo "$(YELLOW)🔍 Проверяем весь проект...$(RESET)"
|
||||
@docker exec ansible-controller bash -lc 'ansible-lint --config-file /ansible/.ansible-lint molecule/universal/'
|
||||
@docker exec ansible-controller bash -lc 'ansible-lint --config-file /ansible/.ansible-lint files/playbooks/'
|
||||
@if [ -d "$(ROLES_DIR)" ] && [ -n "$$(ls $(ROLES_DIR)/ 2>/dev/null)" ]; then \
|
||||
docker exec ansible-controller bash -lc 'ansible-lint --config-file /ansible/.ansible-lint $(ROLES_DIR)/*'; \
|
||||
fi
|
||||
@echo "$(GREEN)✅ Проверка завершена$(RESET)"
|
||||
|
||||
.PHONY: env
|
||||
env: ## Показать переменные окружения
|
||||
@echo "$(CYAN)🔧 Переменные окружения:$(RESET)"
|
||||
|
||||
Reference in New Issue
Block a user