Migrace assetů z FE na backend (upgrade 5.17) — DevOps
Tento návod popisuje, jak převést assety ze starého rozložení používaného ve verzi TAS 5.7 do nového backendového layoutu zavedeného od verze 5.17. Postup platí i pro novější verze, které používají stejnou strukturu backend assetů — pod označením 5.17 je tato změna historicky komunikovaná.
Předpoklady
- Backend ve verzi 5.7 je zastavený — během migrace se ze zdrojového adresáře pouze čte, ale je nutné zabránit zápisům.
- Existuje záloha původní složky
frontend/assets(snapshot disku, tarball, snímek úložiště — podle zvyklostí prostředí). - Na serveru je dostupný
rsync(doporučeno) nebo alternativněcp. - Máte přístup k uživateli s právy zápisu do
backend/assets(typickydkr-tasnebo root).
Cílová struktura
Ve verzi 5.7 byly soubory uloženy ve frontend storage. Od verze 5.17 se používá backend storage s následující strukturou (cesty uvnitř kontejneru):
/app/tas/storage/assets/manuals
/app/tas/storage/assets/logos
/app/tas/storage/assets/visual-identity
/app/tas/storage/assets/images
/app/tas/storage/assets/documents
/app/tas/storage/assets/ai-content
Mapování starých a nových složek
Staré umístění (5.7) | Nové umístění (5.17+) | Poznámka |
|
| Přesunout obsah |
|
| Přesunout celý obsah včetně případných podsložek (např. |
|
| Nepatří do |
|
| Přesunout celý obsah. |
neexistovalo |
| Vytvořit jako prázdnou složku. |
neexistovalo |
| Vytvořit jako prázdnou složku. |
_schemaLogos_ nepřesouvejte do manuals. Patří výhradně do visual-identity. Pokud skončí na obou místech, dojde k duplicitě obsahu.documents se v některých prostředích plní individuálně podle rozhodnutí zákazníka. Pro standardní migraci ji vytvořte jako prázdnou. ai-content ve verzi 5.7 neexistovala — vytvořte ji vždy jako prázdnou.Příklad cest
Návod předpokládá běžné rozložení stacku:
/srv/tas/stack/stack_name/deployment/instance/stack_name/storage/frontend/assets
/srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets
stack_name nahraďte skutečným názvem stacku ve vašem prostředí.
Postup migrace (rsync)
Doporučená varianta s rsync — lépe zachovává strukturu a umožňuje jednoduše vyloučit _schemaLogos_ z uploads.
1. Připravte cílovou strukturu
cd /srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets
mkdir -p manuals
mkdir -p logos
mkdir -p visual-identity
mkdir -p images
mkdir -p documents
mkdir -p ai-content
2. Přeneste obsah z frontend storage
Příkazy spouštějte z adresáře:
/srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets
rsync -a --exclude '_schemaLogos_/' ../../frontend/assets/uploads/ ./manuals/
rsync -a ../../frontend/assets/logos/ ./logos/
rsync -a ../../frontend/assets/uploads/_schemaLogos_/ ./visual-identity/
rsync -a ../../frontend/assets/images/ ./images/
mkdir -p ./documents
mkdir -p ./ai-content
Varianta bez rsync (cp)
Pokud na serveru není rsync, lze použít cp -a. Tato varianta vyžaduje explicitně odstranit _schemaLogos_ z manuals, aby stejný obsah neskončil na dvou místech.
cd /srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets
mkdir -p manuals logos visual-identity images documents ai-content
cp -a ../../frontend/assets/uploads/. ./manuals/
rm -rf ./manuals/_schemaLogos_
cp -a ../../frontend/assets/logos/. ./logos/
cp -a ../../frontend/assets/uploads/_schemaLogos_/. ./visual-identity/
cp -a ../../frontend/assets/images/. ./images/
../../frontend/assets/uploads/. (s tečkou na konci) zkopíruje obsah složky včetně skrytých souborů, nikoli samotnou složku.Kontrola po migraci
Po dokončení ověřte, že cílové složky existují a obsah odpovídá očekávanému mapování:
cd /srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets
find manuals -maxdepth 2 -type d | head
find logos -maxdepth 2 -type d | head
find visual-identity -maxdepth 2 -type d | head
find images -maxdepth 2 -type d | head
ls -la documents
ls -la ai-content
Zaměřte se hlavně na následující:
manualsneobsahuje_schemaLogos_.visual-identityobsahuje původní obsah_schemaLogos_.logosobsahuje původní loga a případné podsložky (např._org_).imagesobsahuje staré soubory zfrontend/assets/images.documentsexistuje a je prázdná, pokud zákazník neurčil jinak.ai-contentexistuje a je prázdná.
Oprávnění
Na závěr upravte vlastníka cílových složek a jejich obsahu. V prostředí TAS je typicky požadovaný uživatel dkr-tas:
chown -R dkr-tas:dkr-tas /srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets
chown -R dkr-tas ...), pokud se na serveru spravuje vlastnictví bez explicitní skupiny.Shrnutí mapování
manuals <- uploads bez _schemaLogos_
logos <- logos
visual-identity <- _schemaLogos_
images <- images
documents <- nová prázdná složka
ai-content <- nová prázdná složka
Další kroky
Po úspěšné migraci a nastavení oprávnění spusťte backend image ve verzi 5.17+ a ověřte, že se assety načítají správně (manuály, loga, vizuální identita, obrázky v případech).
Updated
by Frantisek Brych