Přeskočit na obsah

A610 — Ladění spadlého buildu

Postup od chybové hlášky k příčině a katalog nejčastějších pádů — včetně těch, kde chyba není tam, kde se ohlásila.

A610Inženýrství 12 minVývojářMaintainer

Po téhle lekci

  • Zúžíte pád na konkrétní krok a spustíte ho samostatně.
  • Poznáte pády, u kterých je příčina jinde než hláška.
  • Vyhnete se opravování symptomu místo příčiny.

Postup

  1. Najděte první chybu, ne poslední. Pipeline se zastaví na prvním selhání, ale výpis bývá dlouhý.
  2. Zjistěte krok. Každý běh je označený jménem kroku.
  3. Spusťte ten krok samostatně. Kratší smyčka, čitelnější výpis.
  4. Přečtěte hlášku doslova. Validátory tady píšou, co je špatně a často i jak to opravit.
  5. Opravte příčinu, ne symptom.

Katalog častých pádů

HláškaSkutečná příčina
Text tvrzení neodpovídá řádku tabulkyzměna udělaná jen na jednom ze dvou míst
Stav neodpovídá zdrojůmdvojice zdrojů se neliší rodinou i vydavatelem
Neznámý typ stránkynový record_type bez záznamu v konfiguraci metadat
Příkaz bez záznamu v katalogunový npm skript bez doprovodného záznamu
Rozbitá kotvaodkaz na id, které ve vydaném HTML není
Neznámý typ entitytyp bez popisku, nebo popisek bez použití
Chybí generovaný souborpouštíte generátor mimo pipeline, bez předchozích kroků
Přetečení zásobníkucyklický import v šablonách

Když je zeleno lokálně a červeno v CI

Pusťte lokálně přesně ten příkaz, který selhal. Když projde, je rozdíl v prostředí: verze nástrojů, citlivost na velikost písmen v cestách, časový limit, nebo odvozený soubor, který u vás zbyl z předchozího běhu a v čerstvém klonu neexistuje.

Ověř si, že to sedí

Build spadne na kontrole kotev: odkaz míří na `id`, které ve vydaném HTML není. Kde hledat?

Zobrazit odpověď

Ve třech místech, v tomhle pořadí:

  1. Překlep v odkazu. Nejčastější a nejrychleji vyloučitelný.
  2. Kotva zanikla. Text, na který se odkazovalo, byl přepsán nebo smazán — a odkaz na něj zůstal. Typicky se stane při přeformulování tvrzení.
  3. Kotva se negeneruje. Odkaz míří do generované stránky, jejíž struktura se změnila.

Co neudělat: smazat odkaz, aby brána zmlkla. Rozbitý odkaz je příznakem toho, že se rozešly dvě části obsahu — a ta druhá část je pořád rozešlá, jen o ní nikdo nebude vědět.

Tahle kontrola existuje proto, že běžný kontrolor odkazů ručně psané id neověřuje. Je to jediná věc, která takový rozpad chytí.

Kanonické znění pojmů

Lekce pojem vysvětluje. Závazná definice je tady — když se rozejdou, platí tahle stránka.