- Создана новая роль repo для добавления репозиториев на все ОС - Добавлена поддержка Docker, PostgreSQL, Elasticsearch, Patroni репозиториев - Реализована специальная поддержка российских дистрибутивов: - Astra Linux: добавлены репозитории Lab50 и debian-archive-keyring - Alt Linux: добавлены репозитории Sisyphus (alt-sisyphus, classic, contrib) и Autoimports - Обновлена документация README.md с информацией о новой роли - Обновлен .ansible-lint для подавления необходимых правил - Автор: Сергей Антропов, https://devops.org.ru
45 lines
1.4 KiB
Bash
Executable File
45 lines
1.4 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
|
||
|
||
# Добавляем каждую роль как отдельный 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'и обновлены"
|