- Patch release + commit + push:
./release.sh patch --auto-push
- Minor release + commit + push:
./release.sh minor --auto-push
- Major release + commit + push:
./release.sh major --auto-push
- Explicitna verzia + commit + push:
./release.sh 2.10.06 --auto-push
patch->x.y.znax.y.(z+1)minoralebomini->x.y.znax.(y+1).0major->x.y.zna(x+1).0.0X.Y.Z-> pouzije sa explicitna verzia
--auto-commit:- spravi commit s
RELEASE_VERSIONareleases/tinyfilemanager-<verzia>.zip
- spravi commit s
--auto-push:- automaticky zapne aj
--auto-commit - pushne aktualnu vetvu na
origin
- automaticky zapne aj
--commit-message="...":- vlastna commit sprava
--include-local-config:- do release prida lokalne configy, ak existuju (
api.config.php,joyee-bridge.config.php)
- do release prida lokalne configy, ak existuju (
./release.sh patch./release.sh patch --auto-commit./release.sh patch --auto-commit --commit-message="Release 2.10.06"./release.sh mini --auto-push
- Over, ze
config.phpobsahuje perzistentnu cestu pre runtime data:$state_storage_path = __DIR__ . '/uploads/.tfm-state';
- Spusti migraciu legacy state dat (bezpecny dry-run -> apply):
php scripts/migrate-legacy-state.phpphp scripts/migrate-legacy-state.php --apply
- Skontroluj cielovy adresar:
ls -la uploads/.tfm-state
- Prekopiruj runtime konfiguraciu aj UI predvolby do databazy:
php scripts/migrate-config-to-db.phpphp scripts/migrate-config-to-db.php --apply
- Skript prenasa:
- runtime config z
config.phpdoruntime_config/global - globalne UI predvolby z
$CONFIGdoui_preferences/global - stare profilove JSON nastavenia pouzivatelov do
ui_preferences/<username>
- runtime config z
- Po migracii uz budu nove ulozenia smerovat do SQLite config store, ale filesystem fallback zostane ako poistka.
Ak sa na nasadenom serveri medzicasom menili konfiguracie alebo pouzivatelia v Sprave uzivatelov, pred release ich najprv stiahni zo servera do workspace a az potom vytvaraj release balik.
- Zisti aktualny stav na serveri a sprav si zalohu lokalnych configov:
cp config.php config.php.bak.$(date +%Y%m%d_%H%M%S)cp api.config.php api.config.php.bak.$(date +%Y%m%d_%H%M%S) 2>/dev/null || truecp joyee-bridge.config.php joyee-bridge.config.php.bak.$(date +%Y%m%d_%H%M%S) 2>/dev/null || true
- Stiahni serverove konfiguracie do workspace cez
rsyncaleboscp:
rsync -avz user@server:/var/www/html/config.php ./config.phprsync -avz user@server:/var/www/html/api.config.php ./api.config.php 2>/dev/null || truersync -avz user@server:/var/www/html/joyee-bridge.config.php ./joyee-bridge.config.php 2>/dev/null || true
- Over rozdiely pred release:
git diff -- config.php api.config.php joyee-bridge.config.php
- Ak su zmeny spravne, commitni ich a az potom pust release:
./release.sh patch --auto-push
.gitignorechraní len neversionované lokalne subory.- Trackovany
config.phpsa do release prenesie iba vtedy, ked je skutocne aktualizovany vo workspace. - Týmto je serverova konfiguracia zdroj pravdy a release ju neprepise naslepo.