Cesta 04Lekce 9 / 10

Rozhodujte o vydání podle důkazů

Zkontrolujte verzi, cíl, zbývající riziko a postup obnovy. Kde to systém vyžaduje, oddělte merge, nasazení a zpřístupnění uživatelům.

Praxe9 minZkontrolováno

Vydává Jak píšeme

Ověřte si porozuměníKontrolující schválí commit A, ale nasazení sestaví commit B s další změnou autorizace. Co je potřeba?Vypracovat cvičení
Kontrolující schválí commit A, ale nasazení sestaví commit B s další změnou autorizace. Co je potřeba?

Co se naučíte

  • Určit, k čemu se musí rozhodnutí o vydání vztahovat.
  • Odlišit merge, nasazení a zpřístupnění funkce.
  • Stanovit podmínky zastavení nebo vrácení vydání.

Vyjádřete rozhodnutí přesně

Zelená pipeline je důkazem z určité sady kontrol. Není úplným popisem rozhodnutí o vydání. Odpovědná osoba musí vědět, co se změní, kde a jaké následky zůstávají.

U fiktivního exportu zákazníků určete přijatý commit a artefakt z něj vytvořený. Uveďte cílové prostředí. Připojte odkazy na příslušné testy, kontrolu a případné schválené výjimky. Zahrňte změny dat nebo infrastruktury doprovázející aplikaci.

NIST SSDF poskytuje postupy bezpečného vývoje, zatímco SLSA provenance pomáhá popsat vznik artefaktu. Ani jedno neodstraňuje nutnost rozhodnout, zda je toto vydání pro danou službu vhodné. NIST SSDF, SLSA provenance.

Oddělte tři události

Merge začlení změnu zdroje do větve. Nasazení umístí artefakt do prostředí. Zpřístupnění funkce umožní její chování uživatelům. Tyto události mohou nastat současně, ale nemusejí být jednou událostí.

Služba může nasadit neaktivní funkci a zpřístupnit ji později. Databázová migrace může zasáhnout produkci dříve, než se objeví viditelná funkce. Definujte skutečnou posloupnost, místo abyste předpokládali, že merge PR popisuje všechny následky.

U exportu může feature flag omezit počáteční zpřístupnění. Automaticky nechrání nový endpoint ani nevrací migraci schématu. Ověřte opatření v místě, kde následek vzniká.

Projděte stručný záznam důkazů

Použijte záznam, který může prozkoumat jiná odpovědná osoba:

  • Účel a dotčení uživatelé.
  • Identita commitu a artefaktu.
  • Příslušné kontroly chování, bezpečnosti a kompatibility.
  • Cílové prostředí a identita provádění.
  • Zbývající výjimky s odpovědnými osobami a podmínkami konce platnosti.
  • Monitoring, postup obnovy a osoba odpovědná za reakci.

Tvrzení udržujte konkrétní. „Testy prošly“ je slabší než odkaz na výsledky pro commit vydání s jasným popisem pokrytí. „Rollback je dostupný“ je slabší než otestovaný postup s uvedenými omezeními.

Rozhodněte, jak zastavit vydání

Podmínky vydání definujte před provedením. U fiktivního exportu zastavte vydání, pokud uspěje přístup mezi organizacemi, artefakt se liší od přijatého digestu nebo není dostupná obnova. Jde o ilustrativní podmínky, nikoli univerzální kontrolní seznam.

Po nasazení prozkoumejte signály důležité pro uživatele. Porovnejte chybové chování a dobu odezvy s přijatými cíli služby. Zdravý proces neprokazuje, že uživatelský postup funguje.

Pokud podmínka není splněna, použijte dohodnutou reakci. Může jít o vypnutí zpřístupnění, rollback kompatibilního kódu nebo obnovu dat. Zvolte akci, která řeší selhání bez vytvoření většího problému.

Zachovejte rozhodnutí po vydání

Zaznamenejte skutečně nasazený artefakt a výsledek. Pokud se provedení liší od plánu, rozdíl zviditelněte. Incidenty a neočekávanou práci promítněte do návrhu dalšího vydání.

Automatizovaný systém dodávky má tento záznam usnadnit kontrole. Nemá vyžadovat, aby kontrolující rekonstruoval vydání z nepropojených chatů, logů a snímků obrazovky. Jasné důkazy umožňují týmům automatizovat rutinní práci a zachovat odpovědná rozhodnutí.

Vypracovat cvičení

Připravte fiktivní poznámku k vydání exportu zákazníků. Zahrňte commit, digest artefaktu, prostředí, autorizační kontrolu, vliv migrace, osobu odpovědnou za monitoring a spouštěcí podmínku obnovy. Uveďte jednu podmínku, která zastaví vydání i při úspěšných unit testech.

Stáhnout pracovní list (Markdown)
Ověřte si porozumění ↑

Pokračovat v učení

Zdroje a další čtení

Související čtení od Taigy

← Předchozí lekce: Koordinujte vývoj s AI napříč týmy