|
|
@@ -4,40 +4,17 @@ 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)...
|
|
|
+echo [1/3] 🚀 Otprafka koda v Git...
|
|
|
+git add .
|
|
|
+git commit -m "auto deploy"
|
|
|
+git push origin master
|
|
|
+if %ERRORLEVEL% neq 0 (echo Push failed! & exit /b %ERRORLEVEL%)
|
|
|
|
|
|
-:: 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 [2/3] ⚙️ Zapusk sborki na servere...
|
|
|
+ssh %REMOTE_USER%@%REMOTE_HOST% "cd /var/www/radionica3d && git pull && npm install && ./build_frontend.sh && source backend/venv/bin/activate && pip install -r backend/requirements.txt && sudo systemctl restart radionica-backend && sudo systemctl restart nginx && sudo chown -R www-data:www-data /var/www/radionica3d"
|
|
|
|
|
|
echo.
|
|
|
-echo 🎉 DEPLOY USPESHNO ZAVERSHEN!
|
|
|
+echo 🎉 DEPLOY CHEREZ GIT USPESHNO ZAVERSHEN!
|
|
|
pause
|