Upgrade TAS 5.19 na 5.21 – průvodce pro DevOps

Technický postup upgradu zákaznické instance z 5.19 na 5.21 pro DevOps a administrátory: příprava, průběh, změny v infrastruktuře a návrat zpět.

Kód šablon, výpočty a tisky řeší konzultant podle článku Upgrade TAS 5.19 na 5.21 – průvodce pro konzultanty. Sem patří jen instalace.

Shrnutí

Upgrade z 5.19 na 5.21 přidává třetí backendový proces (queue) a migrace databáze jsou jednosměrné. Cesta zpět vede jen přes obnovu ze zálohy. Proto: záloha, generálka na kopii produkční DB, až potom produkce.

Co musí DevOps udělat vždy:

  1. Přidat kontejner (nebo službu) queue se stejným image a env jako backend, příkaz npm run start:queue.
  2. Pustit migrace (npm run mig).
  3. Nainstalovat pluginy ve verzích pro 5.21. Plugin pro 5.19 se nenačte.
  4. Po startu předat instanci konzultantovi, který spustí validation.checkMigration() a opraví kód šablon.

Ostatní změny jsou v sekci Změny v infrastruktuře. Ve sloupci Zajímá mě, pokud… je u každé napsáno, kdy se vás týká. Když na vás nesedí, přeskočte ji.

Před upgradem

  • Pluginy: sepište nainstalované pluginy a jejich verze (Správa → Pluginy). Pro každý musíte mít verzi pro 5.21, u vlastních pluginů i přestavěnou verzi. Zajímá mě, pokud má zákazník nainstalovaný nějaký plugin.
  • Generálka na kopii: před produkcí upgradujte kopii produkční DB a změřte, jak dlouho migrace běží. Podle toho naplánujete odstávku. Na generálce si konzultant spustí validation.checkMigration() a opraví šablony, takže na produkci už jen kontroluje.

Průběh upgradu

Od 5.21 běží tři backendové procesy ze stejného image: backend (npm run start), cron (npm run start:cron) a nově queue (npm run start:queue). Bez queue procesu čekají servisní operace, archivace, synchronizace práv manažerů a zpracování obrázků donekonečna.

  1. Ohlaste odstávku a zapněte maintenance mode. Crony v maintenance mode nově neběží.
  2. Zastavte backend, cron i frontend.
  3. Plná záloha databáze a úložiště (DMS, sdílené soubory, pluginy). Ověřte, že záloha jde obnovit.
  4. Upravte env podle sekce Změny v infrastruktuře. Pro běh migrací dočasně zvyšte TAS_DB_REQUEST_TIMEOUT (výchozích 120 s na velké tabulky nestačí) a na MSSQL i TAS_DB_LOCK_TIMEOUT.
  5. Přidejte queue kontejner se stejným image, env souborem a sítí jako backend, jen s příkazem npm run start:queue. Příklad pro Docker (názvy upravte podle instalace):
    docker run -d --name tas-backend-queue \
    --restart unless-stopped \
    --network TAS \
    --env-file /opt/tas/config/tas-backend.env \
    <image backendu>:5.21 \
    npm run start:queue
    Po startu je v logu kontejneru řádek Background process running as queue.
  6. Nasaďte image 5.21 a spusťte migrace: npm run mig. Počkejte na hlášku Migration tool finished successfully.
  7. Když migrace spadne, obnovte zálohu. Na částečně převedené DB nespouštějte 5.19 ani 5.21.
  8. Vraťte timeouty na běžné hodnoty a spusťte backend, cron, queue a frontend.
  9. Nainstalujte pluginy ve verzích pro 5.21.
  10. Proveďte ruční kroky ze sekce Změny v infrastruktuře, které se vás týkají (např. MS Graph).
  11. Vypněte maintenance mode a předejte instanci konzultantovi.

Změny v infrastruktuře

První dva řádky platí pro každou instalaci. U ostatních se podívejte do sloupce Zajímá mě, pokud…, a když na vás nesedí, bod přeskočte.

Procesy a běh

Změna

Zajímá mě, pokud…

Co udělat

Nový proces queue (npm run start:queue)

vždy

Přidat kontejner nebo službu

Pluginy povolují nejvýš verzi 5.21.x

vždy, pokud je nainstalovaný jakýkoli plugin

Nainstalovat verze pro 5.21. Pluginy s vlastním REST (apiExtensions, exposeDb, singleSignOn) musí mít verzi pro 5.21, starší nefungují. Vlastní pluginy přestavět.

Klíče konfigurace pluginů se přejmenovaly (exposeDb → expose-db, isDoc → is-doc, singleSignOn → single-sign-on)

používáte tyto pluginy

Migrace to přepíše sama, po upgradu jen zkontrolujte konfiguraci

CleanupCron běží každou hodinu, nový CommandReconciliationCron každou minutu

hlídáte crony v monitoringu

Upravit očekávání v monitoringu

Endpointy front berou názvy workflow a rights, pause a resume jsou POST

monitoring nebo skripty volají /queue/*

Upravit volání

iDoklad byl odstraněn

zákazník měl iDoklad

Deaktivovat jeho cron

ImageMagick 7 (magick) musí být na PATH

instalace na Windows bez Dockeru

Nainstalovat ImageMagick 7

Šablona Zabbix se změnila

monitorujete přes Zabbix

Znovu importovat tas_template.yaml, pro kartu deadlocků na MSSQL přidělit VIEW SERVER STATE

Proměnné prostředí

Proměnná

Zajímá mě, pokud…

Co udělat

TAS_DB_ENCRYPTION na MSSQL šifruje spojení a ověřuje certifikát serveru

máte TAS_DB_ENCRYPTION=true a SQL Server nemá důvěryhodný certifikát

Nastavit TAS_DB_ENCRYPTION_IGNORE_CERTIFICATE=true, jinak se TAS nepřipojí

TAS_DB_LOCK_TIMEOUT (MSSQL, výchozí 15 s) a TAS_DB_ACQUIRE_TIMEOUT (30 s)

instance má dlouhé transakce nebo na PostgreSQL čekaly dotazy na spojení

Nechat výchozí. TAS_DB_LOCK_TIMEOUT=-1 vrátí čekání bez limitu

TAS_DB_LOCK_RETRIES (výchozí 3) a TAS_DB_LOCK_RETRY_DELAY (500 ms), nové, volitelné

naplánované úkoly a importy XML na instanci často končí deadlockem nebo lock timeoutem

Nechat výchozí. Transakce, která prohraje deadlock, se zopakuje až 3×

Zrušené: TAS_DB_PER_CONNECTION_REQUEST_QUEUE, TAS_DB_DEFERRED_REQUEST_LOG_LIMIT, TAS_AI_AZURE_OPENAI_API_VERSION

jsou v env

Smazat

TAS_FRONTEND_APP_NAME

vždy na frontendu

Nastavit název aplikace pro záložku prohlížeče

TAS_BACKEND_INTERNAL_URL (nová, volitelná)

backend se nedostane na svou veřejnou URL a export do CSV nebo XLSX nefunguje

Nastavit na interní adresu backendu, stejnou jako má frontend

TAS_REDIS_KEY_PREFIX (nová, volitelná)

víc instancí sdílí jeden Redis

Nastavit různý prefix pro každou instanci

TAS_DMS_ALLOWED_EXTERNAL_SOURCES znamená složku a její podsložky, ne textový prefix

je nastavená

Zkontrolovat, že cesty jsou celé složky

TAS_SSO_RATE_REQUEST_COUNT, TAS_SSO_RATE_BAN_DURATION (nové, volitelné)

používáte SSO plugin a mnoho uživatelů se přihlašuje z jedné IP

Zvýšit limit, výchozí je 10 pokusů

Vlastní fonty

Konzultanti si nově mohou nahrávat vlastní fonty pro tisky sami v Správa → Sdílené soubory → Fonty. Od DevOps to nic nevyžaduje.

Pošta přes MS Graph

Konfiguraci starých cronů MS Graph převedete na připojení v Email processing. Nový cron Email processing se na upgradované DB nezaloží sám.

Zajímá mě, pokud TAS čte nebo odesílá poštu přes Microsoft 365 (crony MsGraph*).

  1. V servisní konzoli spusťte sys.mail.migrateMsGraphToNewEmailStuff(). Vypíše náhled, nic nezmění.
  2. Když náhled sedí, spusťte sys.mail.migrateMsGraphToNewEmailStuff(true).
  3. Založte a aktivujte cron Email processing a smažte staré řádky MsGraph*.
  4. Tajné hodnoty (client secret) musí být odkazy do trezoru.
  5. Ověřte příchozí e-mail v Správa → Email ledger.

exposeDb s externí databází

Zajímá mě, pokud plugin exposeDb čte z jiné databáze než TAS.

Migrace přepíše blok knex v konfiguraci na externalDb. Po upgradu zkontrolujte, že v konfiguraci pluginu je externalDb a klient mssql nebo postgresql. Když dotaz vrátí UNMIGRATED_DB_CONNECTION, opravíte konfiguraci ručně.

Po upgradu

Technická kontrola trvá zhruba 15 minut a dělá se hned po startu, ještě před předáním konzultantovi.

  • GET /status/liveness odpovídá na backendu, cronu i queue.
  • GET /queue/workflow/get-workers vrací běžící workery.
  • Správa → Pluginy: žádný plugin není v chybě („Incompatible plugin version“).
  • Správa → Crony: crony běží a žádný nehlásí „not found in cron container“ (staré crony MS Graph).
  • Zkušební servisní operace nebo archivace doběhne. Když visí, neběží proces queue.
  • Přihlášení přes každou používanou autoritu (heslo, LDAP, SAML, Entra ID, SSO).
  • Tisk do PDF a převod DOCX projde (ověří LibreOffice a Chromium).
  • V logu migrací projděte řádky [Migration20260722184302] (formuláře úkolů k revizi), [Migration20260817182114] (přeskočené části diagramu), unresolved dynamic table references a discontinued custom dynamic lists a předejte je konzultantovi.

Předání konzultantovi

Konzultant v servisní konzoli spustí validation.checkMigration() a opraví kód šablon podle průvodce pro konzultanty. Předejte mu výpis z logu migrací a seznam bodů z tohoto článku, které se instance týkaly (pluginy, MS Graph).

Migrace jsou jednosměrné a down() u hlavních z nich vyhodí chybu. Jediná cesta zpět je obnova zálohy databáze i úložiště a nasazení image 5.19. Data založená po upgradu se tím ztratí, takže rozhodnutí o návratu padne nejpozději před spuštěním instance pro uživatele.

Upgrade TAS 5.19 na 5.21 – průvodce pro konzultanty

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)