| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- @echo off
- setlocal enabledelayedexpansion
- :: --- НАСТРОЙКИ ---
- set REMOTE_HOST=148.230.71.134
- set REMOTE_USER=root
- set REMOTE_DIR=/var/www/radionica3d
- set CHOWN_USER=www-data
- :: -----------------
- echo [1/5] 🚀 Nachinaem NADEZHNYY deploy (TAR + SCP)...
- :: 1. Сборка фронтенда
- echo [2/5] 🔨 Sborka frontenda...
- python scripts/manage_locales.py split
- call npm run build
- if %ERRORLEVEL% neq 0 (echo Build failed! & exit /b %ERRORLEVEL%)
- :: 2. Упаковка в архив (пакуем только то, что нужно)
- echo [3/5] 📦 Upakovka proyekta...
- :: Удаляем старый архив если остался
- if exist deploy.tar.gz del deploy.tar.gz
- :: Пакуем dist, backend (без venv) и конфиги
- tar -czf deploy.tar.gz dist/ backend/ nginx.conf radionica-backend.service --exclude=backend/venv --exclude=backend/__pycache__ --exclude=backend/uploads
- if %ERRORLEVEL% neq 0 (echo Archiving failed! & exit /b %ERRORLEVEL%)
- :: 3. Отправка на сервер
- echo [4/5] 📨 Otprafka arkhiva...
- scp deploy.tar.gz %REMOTE_USER%@%REMOTE_HOST%:~/
- if %ERRORLEVEL% neq 0 (echo Upload failed! & exit /b %ERRORLEVEL%)
- :: 4. Команды на сервере
- echo [5/5] ⚙️ Nastroyka servera...
- ssh %REMOTE_USER%@%REMOTE_HOST% "mkdir -p ~/tmp_deploy_dir && tar -xzf ~/deploy.tar.gz -C ~/tmp_deploy_dir && sudo mkdir -p %REMOTE_DIR%/html && sudo mkdir -p %REMOTE_DIR%/backend && sudo cp -r ~/tmp_deploy_dir/dist/* %REMOTE_DIR%/html/ && cd %REMOTE_DIR%/backend && ([ -d venv ] || python3 -m venv venv) && source venv/bin/activate && (cmp -s ~/tmp_deploy_dir/backend/requirements.txt requirements.txt || (cp ~/tmp_deploy_dir/backend/requirements.txt requirements.txt && pip install -r requirements.txt && pip install gunicorn uvicorn)) && sudo cp -r ~/tmp_deploy_dir/backend/* . && sudo cp ~/tmp_deploy_dir/nginx.conf /etc/nginx/sites-available/radionica3d && sudo ln -sf /etc/nginx/sites-available/radionica3d /etc/nginx/sites-enabled/ && (sudo nginx -t && sudo systemctl restart nginx) && sudo cp ~/tmp_deploy_dir/radionica-backend.service /etc/systemd/system/ && sudo systemctl daemon-reload && sudo systemctl restart radionica-backend && sudo chown -R %CHOWN_USER%:%CHOWN_USER% %REMOTE_DIR% && rm ~/deploy.tar.gz && rm -rf ~/tmp_deploy_dir"
- if %ERRORLEVEL% neq 0 (echo Remote commands failed! & exit /b %ERRORLEVEL%)
- :: 5. Очистка локально
- del deploy.tar.gz
- echo.
- echo 🎉 DEPLOY USPESHNO ZAVERSHEN!
- pause
|