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á.

Migraci proveďte před prvním spuštěním backend image ve verzi 5.17+. Pokud se nový image spustí bez této migrace, assety nebudou dostupné na očekávaných cestách.

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 (typicky dkr-tas nebo 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

uploads

manuals

Přesunout obsah uploads, ale bez _schemaLogos_.

logos

logos

Přesunout celý obsah včetně případných podsložek (např. _org_).

uploads/_schemaLogos_

visual-identity

Nepatří do manuals.

images

images

Přesunout celý obsah.

neexistovalo

documents

Vytvořit jako prázdnou složku.

neexistovalo

ai-content

Vytvořit jako prázdnou složku.

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/

Zápis ../../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í:

  • manuals neobsahuje _schemaLogos_.
  • visual-identity obsahuje původní obsah _schemaLogos_.
  • logos obsahuje původní loga a případné podsložky (např. _org_).
  • images obsahuje staré soubory z frontend/assets/images.
  • documents existuje a je prázdná, pokud zákazník neurčil jinak.
  • ai-content existuje 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

Pokud prostředí používá jiného uživatele nebo skupinu, upravte příkaz podle lokálního deploymentu. Skupinu lze vynechat (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).

Následně je potřeba udělat úpravy na straně konzultantských skriptů/výpočtů což je popsáno zde.

Frantisek Brych Updated by Frantisek Brych

Hlavní změny a zaniklé funkce ve verzi 5.17

Contact

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)