-
Скрипт деплоя:
/usr/local/bin/integram-autodeploy.sh- Проверяет обновления с GitHub
- Выполняет git reset --hard origin/master
- Устанавливает зависимости (npm install)
- Собирает frontend (npm run build)
-
Systemd сервис:
/etc/systemd/system/integram-autodeploy.service- Запускает скрипт деплоя
- Логи в journalctl
-
Systemd таймер:
/etc/systemd/system/integram-autodeploy.timer- Запускается каждые 30 минут
- Первый запуск через 5 минут после загрузки
# Проверить статус автодеплоя
systemctl status integram-autodeploy.timer
# Запустить деплой вручную
systemctl start integram-autodeploy.service
# Посмотреть логи
tail -f /var/log/integram-autodeploy.log
journalctl -u integram-autodeploy -f
# Остановить автодеплой
systemctl stop integram-autodeploy.timer
systemctl disable integram-autodeploy.timer
# Запустить заново
systemctl enable integram-autodeploy.timer
systemctl start integram-autodeploy.timer- Интервал: Каждые 30 минут
- Первый запуск: Через 5 минут после загрузки системы
- Следующий запуск: Через 30 минут после последнего
Проверить расписание:
systemctl list-timers integram-autodeploy.timerЛог деплоя: /var/log/integram-autodeploy.log
[2025-12-25 20:39:51] Deploy completed successfully!Systemd журнал:
journalctl -u integram-autodeploy.service -n 50- Запускается по таймеру каждые 30 минут
- Проверяет
git fetch origin master - Сравнивает локальный и remote HEAD
- Если обновления есть:
git reset --hard origin/master(перезаписывает локальные изменения!)npm install(обновляет зависимости)npm run build(собирает frontend)
- Если обновлений нет - завершается без действий
✅ Автоматически обновляется:
- Frontend код (src/*)
- package.json зависимости
- Vite конфигурация
- Собранный dist/
❌ НЕ обновляется:
- Node.js backend (нет в репозитории)
- Nginx конфигурация
- Apache настройки
- Systemd сервисы
1. Динамические API пути (src/axios2.js)
// Автоопределение сервера
const hostname = window.location.hostname
const protocol = window.location.protocol
// IP адреса используют текущий протокол
if (hostname.match(/^\d+\.\d+\.\d+\.\d+$/)) {
return `${protocol}//${hostname}/${db}/`
}
// Доменные имена → всегда https
return `https://${hostname}/${db}/`2. Кнопка "Войти" (src/components/onboarding/WelcomeScreen.vue)
- Изменено: "Начать" → "Войти"
- Редирект:
/dashboard?startTour=true→/login
3. Зависимости (package.json)
Добавлены:
- html2canvas
- jspdf
- xlsx
- marked
- dompurify
- sortablejs
Доступ к интерфейсам:
- Старый PHP: http://185.128.105.78/
- Новый Vue.js: http://185.128.105.78/app/welcome
API запросы:
- Автоматически используют http://185.128.105.78/a2025/
- Вместо hardcoded https://dronedoc.ru/a2025/
Следующий автодеплой:
systemctl list-timers integram-autodeploy.timer
# NEXT: через ~30 минут после последнего запускаПроблема: Build failed
# Проверить логи
tail -50 /var/log/integram-autodeploy.log
# Попробовать вручную
cd /var/www/integram-standalone
git status
npm install
npm run buildПроблема: Git errors
# Проверить состояние репозитория
cd /var/www/integram-standalone
git status
git log -3
# Сбросить если нужно
git reset --hard origin/masterПроблема: Timer не запускается
systemctl status integram-autodeploy.timer
systemctl restart integram-autodeploy.timerСоздано: 2025-12-25
Сервер: 185.128.105.78
Интервал: 30 минут
Статус: ✅ Работает