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