#!/bin/bash # Автоматическое обновление playbook'ов при добавлении новых ролей # Автор: Сергей Антропов # Сайт: https://devops.org.ru set -euo pipefail echo "🔍 Обнаружение новых ролей..." # Получаем список всех ролей ROLES=$(find roles/ -name 'main.yml' -path '*/tasks/*' | sed 's|roles/||; s|/tasks/main.yml||' | sed 's|^/||' | grep -v '^$' | tr '\n' ' ') echo "📋 Найденные роли: $ROLES" # Обновляем roles/deploy.yml echo "📝 Обновление roles/deploy.yml..." cat > roles/deploy.yml << EOF --- # Playbook для развертывания на продакшн серверах # Автор: Сергей Антропов # Сайт: https://devops.org.ru EOF # Добавляем каждую роль как отдельный play с преамбулой в pre_tasks for role in $ROLES; do cat >> roles/deploy.yml << EOF - name: Установка роли $role hosts: all become: true pre_tasks: - name: Running role $role debug: msg: | ================================================================================ Запуск роли $role ================================================================================ roles: - $role EOF done echo "✅ Playbook'и обновлены"