# Скрипты деплоя CRM Этот набор скриптов предназначен для безопасного деплоя изменений из тестовой среды `crm-test.clientright.ru` в боевую среду `crm.clientright.ru`. ## Структура - `deploy_to_production.sh` - Основной скрипт полного деплоя - `sync_crm_extensions.sh` - Скрипт синхронизации только CRM Extensions - `README.md` - Данная документация ## Основной скрипт деплоя ### Использование ```bash # Полный деплой (по умолчанию) ./deploy_to_production.sh # Создание только резервной копии ./deploy_to_production.sh backup # Синхронизация файлов без бэкапа ./deploy_to_production.sh sync # Проверка работоспособности ./deploy_to_production.sh health # Откат к последней резервной копии ./deploy_to_production.sh rollback ``` ### Что делает полный деплой 1. **Проверка прав доступа** - Убеждается, что есть доступ к необходимым директориям 2. **Создание резервной копии** - Создает полную резервную копию продакшн среды 3. **Синхронизация файлов** - Копирует изменения из тестовой среды 4. **Обновление прав доступа** - Устанавливает правильные права на файлы 5. **Проверка работоспособности** - Проверяет доступность сайта после деплоя ### Синхронизируемые компоненты - `crm_extensions/` - Все доработки CRM - `layouts/v7/skins/images` - Изображения интерфейса - `layouts/v7/lib` - JavaScript библиотеки - `modules/` - Модули CRM - `libraries/` - PHP библиотеки - `include/` - Включаемые файлы - `vtlib/` - Vtiger библиотеки - `packages/` - Пакеты расширений - `resources/` - Ресурсы - `.htaccess` - Конфигурация Apache ## Скрипт синхронизации CRM Extensions ### Использование ```bash # Синхронизация CRM Extensions (по умолчанию) ./sync_crm_extensions.sh # Создание резервной копии ./sync_crm_extensions.sh backup # Проверка синхронизации ./sync_crm_extensions.sh verify ``` ### Что делает 1. **Проверка директорий** - Убеждается в существовании необходимых путей 2. **Резервная копия** - Создает бэкап текущих CRM Extensions 3. **Синхронизация** - Копирует новую версию из тестовой среды 4. **Проверка** - Верифицирует успешность синхронизации ## Безопасность ### Резервные копии - Все резервные копии сохраняются в `/var/www/fastuser/data/backups/` - Исключаются кеш, временные файлы и логи - Автоматическое именование с временными метками - Возможность отката к любой резервной копии ### Права доступа - Файлы: 644 (rw-r--r--) - Директории: 755 (rwxr-xr-x) - Исполняемые скрипты: 755 (rwxr-xr-x) - Кеш и временные файлы: 777 (rwxrwxrwx) - Владелец: fastuser:fastuser ### Исключения Из синхронизации исключаются: - `/cache/` - Кеш файлы - `/test/templates_c/` - Скомпилированные шаблоны - `/logs/` - Логи - `/tmp/` - Временные файлы ## Мониторинг ### Логи - Основной скрипт: `/var/www/fastuser/data/logs/deploy_YYYYMMDD_HHMMSS.log` - Цветной вывод в консоль - Детальная информация о каждом шаге ### Проверки работоспособности - HTTP статус главной страницы - Наличие ключевых файлов - Размеры директорий - Права доступа ## Примеры использования ### Ежедневный деплой изменений ```bash cd /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/deploy_scripts ./deploy_to_production.sh ``` ### Быстрая синхронизация только Extensions ```bash cd /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/deploy_scripts ./sync_crm_extensions.sh ``` ### Экстренный откат ```bash cd /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/deploy_scripts ./deploy_to_production.sh rollback ``` ### Проверка состояния ```bash cd /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/deploy_scripts ./deploy_to_production.sh health ``` ## Автоматизация ### Cron задачи Для автоматического деплоя можно добавить в crontab: ```bash # Ежедневный деплой в 2:00 0 2 * * * /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/deploy_scripts/deploy_to_production.sh # Еженедельная проверка работоспособности 0 6 * * 1 /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/deploy_scripts/deploy_to_production.sh health ``` ### Уведомления Скрипты можно модифицировать для отправки уведомлений: - Email при ошибках - Telegram уведомления - Slack интеграция ## Устранение неполадок ### Частые проблемы 1. **Ошибки прав доступа** ```bash sudo chown -R fastuser:fastuser /var/www/fastuser/data/www/crm.clientright.ru ``` 2. **Проблемы с кешем** ```bash rm -rf /var/www/fastuser/data/www/crm.clientright.ru/test/templates_c/* chmod -R 777 /var/www/fastuser/data/www/crm.clientright.ru/test/templates_c/ ``` 3. **Ошибки Apache** ```bash systemctl restart apache2 tail -f /var/log/apache2/error.log ``` ### Восстановление из резервной копии ```bash # Список доступных резервных копий ls -la /var/www/fastuser/data/backups/ # Восстановление конкретной копии tar -xzf /var/www/fastuser/data/backups/crm_backup_YYYYMMDD_HHMMSS.tar.gz -C /var/www/fastuser/data/www/ ``` ## Контакты - **Автор**: Фёдор - **Дата создания**: 2025-09-26 - **Версия**: 1.0 ## Лицензия Внутренний инструмент ClientRight CRM. Все права защищены.