- court_document_parser.py: парсер судебных документов с извлечением ФИО, номера дела, УИД, суда - court_parser_api.py: API для вызова парсера из n8n - pdf_court_parser.py: парсер PDF документов с извлечением текста - simple_project_updater.php: обновление проектов через CRM API - simple_project_updater_v2.php: обновленная версия с прямыми SQL запросами и S3Client - update_project_from_document.php: альтернативный скрипт обновления - test_input.json: тестовые данные для парсера - README файлы с документацией для всех скриптов Скрипты поддерживают: - Поиск проектов по ФИО, номеру дела, УИД, названию суда - Создание документов в CRM с загрузкой в S3 - Привязку документов к проектам - Логирование всех операций - Работу с n8n через SSH команды
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. Все права защищены.
|
||
|
||
|