added Windows batch script for build /dist for distribution of project to server

This commit is contained in:
2026-02-14 14:14:19 +01:00
parent b0b5d0972a
commit 69e5f4e320
3 changed files with 158 additions and 0 deletions

View File

@ -100,3 +100,66 @@ Layout:
Výsledok:
Čistý, konzistentný, moderný vzhľad bez prehnaných farieb.
----- 2026-02-14 13:35:31 -----------------------------------------------------
V koreňovom adresári projektu vytvor Windows batch skript build.bat.
Štruktúra projektu:
- frontend/ (Vue 3 + Vite) -> build do frontend/dist
- backend/ (PHP) -> web root je backend/public a PHP súbory v public používajú relatívne cesty typu ../src/Init.php
=> Musíme zachovať štruktúru, aby v dist platilo: dist/public/.. = dist/
Cieľ:
- v koreňi vytvoriť root/dist tak, aby som na serveri nastavil DocumentRoot na dist/public
- relatívne cesty v PHP z dist/public na dist/src musia fungovať (napr. dist/public/index.php -> ../src/Init.php)
- frontend (Vite) nasadiť ako statické súbory do dist/public/app (aby nekolidoval s backend/public/index.php)
Výsledná štruktúra dist:
- dist/public/ (WEB ROOT) = kópia backend/public
- dist/src/ = kópia backend/src
- dist/vendor/ = kópia backend/vendor (ak existuje)
- dist/config/ = kópia backend/config (ak existuje)
- dist/… = ostatné potrebné backend súbory/adresáre z backend/ (mimo public)
- dist/public/app/ = Vite build (obsah frontend/dist)
Požiadavky na build.bat:
1) Vyčistenie:
- ak existuje root/dist, zmaž ho celý
- vytvor root/dist
2) Frontend build (nepoužívaj npm ci):
- cd frontend
- spusti "npm install"
- spusti "npm run build"
- ak build zlyhá, ukonči skript s exit code 1
- vráť sa do root
3) Kopírovanie backend do dist:
- skopíruj backend/public -> dist/public
- skopíruj všetko potrebné z backend/ do dist/ TAK, aby platili relatívne cesty z dist/public na dist/src atď.
Konkrétne:
- kopíruj backend/src -> dist/src (ak existuje)
- kopíruj backend/vendor -> dist/vendor (ak existuje)
- kopíruj ďalšie bežné backend adresáre (napr. config, templates, storage…) do dist/ na rovnakú úroveň ako public
- NEkopíruj backend/public druhýkrát mimo dist/public
- NEkopíruj: .git, .vscode, tests, node_modules, frontend, dist
4) Skopírovanie Vite buildu do dist/public:
- vytvor dist/public
- skopíruj obsah frontend/dist -> dist/public
5) .env:
- ak existuje backend/.env.production, skopíruj ho do dist/.env
- inak nič
6) Robustnosť:
- použi robocopy na kopírovanie (rýchle a s exclude)
- kontroluj ERRORLEVEL po každom kritickom kroku a pri chybe ukonči skript s exit code 1
- používaj echo logy (kroky + DONE)
7) Výstup:
- na konci vypíš, že DocumentRoot má byť nastavený na dist/public a frontend je v dist/public
Dodaj kompletný obsah súboru build.bat.