- Создан файл docs/deploy-yml-customization.md с полным руководством - Добавлены примеры использования become, групп, переменных, тегов - Показаны примеры условного выполнения и параллелизма - Добавлены примеры обработки ошибок и безопасности - Включены примеры использования Vault и отладки - Добавлены лучшие практики и рекомендации - Обновлен roles/deploy.yml с примерами кастомизации - Добавлены ссылки на документацию в Makefile и README.md Документация включает: - 15 разделов с подробными примерами - Команды запуска с различными параметрами - Примеры продакшн развертывания - Настройки безопасности и мониторинга - Обработка ошибок и логирование
72 lines
2.2 KiB
YAML
72 lines
2.2 KiB
YAML
---
|
||
# 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)
|