docs: Добавлена полная документация по кастомизации deploy.yml

- Создан файл docs/deploy-yml-customization.md с полным руководством
- Добавлены примеры использования become, групп, переменных, тегов
- Показаны примеры условного выполнения и параллелизма
- Добавлены примеры обработки ошибок и безопасности
- Включены примеры использования Vault и отладки
- Добавлены лучшие практики и рекомендации
- Обновлен roles/deploy.yml с примерами кастомизации
- Добавлены ссылки на документацию в Makefile и README.md

Документация включает:
- 15 разделов с подробными примерами
- Команды запуска с различными параметрами
- Примеры продакшн развертывания
- Настройки безопасности и мониторинга
- Обработка ошибок и логирование
This commit is contained in:
Сергей Антропов
2025-10-25 19:21:59 +03:00
parent e98bfa9c1f
commit 5c2b63848c
4 changed files with 592 additions and 0 deletions

View File

@@ -2,8 +2,70 @@
# Playbook для развертывания на продакшн серверах
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
#
# 📖 Полное руководство по кастомизации: docs/deploy-yml-customization.md
#
# Примеры использования:
# - make role deploy # Развертывание всех ролей
# - ansible-playbook -i inventory/hosts.ini roles/deploy.yml --tags web
# - ansible-playbook -i inventory/hosts.ini roles/deploy.yml --limit webservers
# - ansible-playbook -i inventory/hosts.ini roles/deploy.yml --check
# Базовое развертывание всех ролей
- name: Развертывание всех ролей
hosts: all
become: true
roles:
- ping
# Примеры расширенной кастомизации (раскомментируйте при необходимости):
#
# # Развертывание по группам с разными настройками
# - name: Развертывание на веб-серверах
# hosts: webservers
# become: true
# roles:
# - nginx
# - php-fpm
# tags: ['web', 'nginx']
#
# - name: Развертывание на БД серверах
# hosts: databases
# become: true
# roles:
# - postgresql
# - redis
# tags: ['database']
#
# - name: Развертывание на мониторинг серверах
# hosts: monitoring
# become: true
# when: monitoring_enabled | default(true)
# roles:
# - prometheus
# - grafana
# tags: ['monitoring']
#
# # Развертывание с переменными
# - name: Развертывание с переменными
# hosts: all
# become: true
# vars:
# nginx_port: 80
# nginx_ssl_enabled: true
# app_version: "1.0.0"
# roles:
# - nginx
# - application
#
# # Развертывание с условиями
# - name: Развертывание с условиями
# hosts: all
# become: true
# roles:
# - role: nginx
# when: nginx_enabled | default(true)
# - role: postgresql
# when: database_enabled | default(true)
# - role: redis
# when: cache_enabled | default(false)