Files
DevOpsLab/scripts/update-playbooks.sh
Сергей Антропов 981ede5c94 Обновление проекта
2025-10-30 01:10:35 +03:00

38 lines
1.1 KiB
Bash
Executable File

#!/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
# Добавляем каждую роль как отдельный playbook блок
for role in $ROLES; do
cat >> roles/deploy.yml << EOF
- name: Установка роли $role
hosts: all
become: true
roles:
- $role
EOF
done
echo "✅ Playbook'и обновлены"