Nasazení, které odmítne smazat tvůj web
- Petr
- Pustil jsem --prune po rozbitém sestavení.
- Pavel
- Takže máš prázdný web.
- Petr
- Ne. Nasazení odmítlo.
- Pavel
- …to chci.
To je celá funkce: nasazení předpokládá, že velká změna je chyba, dokud neřekneš jinak.
Jak to funguje
Každé nasazení si vede manifest – SHA-256, velikost a mtime každého nahraného souboru. Další nasazení se proti němu porovná a sáhne jen na to, co se skutečně změnilo. Rychlé, nudné, správné.
Zajímavá část je to, co se stane, než se cokoli nahraje. Když počet souborů od posledního nasazení klesl o víc než 20 %, celé se to zastaví. Tohle je skutečný výstup z tohoto webu – na minutu jsem odstavil polovinu složek sestavení z dohledu a požádal o nasazení:
❌ Zastaveno: v public.nosync/ je 28 souborů, ale podle minulého nahrání
jich mělo být 62.
To je propad o 55 % — vypadá to na rozbitý build.
Podívej se na výstup buildu. Když je propad záměrný (smazal jsi hodně
postů), spusť to znovu s --force.
Takový propad skoro nikdy neznamená „záměrně jsem smazal půlku blogu". Znamená překlep v cestě, prázdný adresář obsahu, sestavení, které v půli spadlo. Bez pojistky by --prune vesele smazalo zbytek tvého živého webu a nahrálo trosky.
A je to symetrické: prudký nárůst spustí stejný drát, protože web, který se náhle zdvojnásobil, obvykle znamená zdvojený strom nebo špatně sloučený import, ne velmi plodné odpoledne.
Nouzové východy
--dry-runukáže přesně, co by se nahrálo, změnilo nebo smazalo – a nesáhne na nic. Tady je dnešní, po úpravě dvou příspěvků:
Deploy web -> Surfer: https://blogsh.app [DRY-RUN]
souborů celkem: 62, nových/změněných: 10, beze změny (přeskočeno): 52
[dry] index.html (54990 B)
[dry] posts/2026/no-gems-one-asterisk/index.html (14852 B)
[dry] posts/2026/why-not-x/index.html (14584 B)
[dry] rss.xml (38156 B)
[dry] search-index.json (29072 B)
...
Změnily se dva příspěvky, takže se nahrává deset souborů: ty příspěvky, stránky, které je vypisují, feed, index hledání. Všechno ostatní má shodný kontrolní součet a zůstává doma.
--forceje přepínač „ano, myslel jsem to vážně", pro den, kdy opravdu smažeš sto příspěvků.--pruneje jediný destruktivní přepínač v sadě a je volitelný. (Na backendugitje každé nasazení tak jako tak snímek, takže úklid je implicitní – a vratný.)
Jeden poctivý vedlejší účinek
Udělej hromadný import – nebo publikuj za jeden večer sérii čtrnácti příspěvků, jak to tento web právě udělal – a spustí se i pojistka růstu. Znovu skutečný výstup, z večera, kdy tento web startoval:
❌ Zastaveno: v public.nosync/ je 63 souborů, podle minulého nahrání jich
mělo být jen 30.
To je nárůst o 110 % — vypadá to na zdvojený nebo rozbitý build.
Podívej se na výstup buildu. Když je nárůst záměrný (hromadný
import/migrace), spusť to znovu s --force.
To není chyba; to je pojistka dělající přesně svou práci při té jediné příležitosti, kdy bys jí odpustil, že mlčí. Zkontroluj čísla, buď krátce samolibý, že je vůbec něco zkontrolovalo, a spusť to znovu s --force.

Komentáře