Files
crm.clientright.ru/crm_extensions/deploy_scripts/README.md

208 lines
7.0 KiB
Markdown
Raw Normal View History

# Скрипты деплоя 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. Все права защищены.