Put 04Lekcija 9 / 10

Donesite odluku o izdanju na osnovu dokaza

Provjerite verziju, ciljno okruženje, preostali rizik i metodu oporavka. Odvojite spajanje koda, raspoređivanje i dostupnost korisnicima kada sistem to zahtijeva.

Praktični nivo9 minPregledano

Objavljuje Kako pišemo

Provjerite razumijevanjeOsoba zadužena za pregled odobrava commit A, ali postupak raspoređivanja gradi softver iz commita B s dodatnom promjenom autorizacije. Šta je potrebno?Uradite vježbu
Osoba zadužena za pregled odobrava commit A, ali postupak raspoređivanja gradi softver iz commita B s dodatnom promjenom autorizacije. Šta je potrebno?

Šta ćete naučiti

  • Utvrdite na šta se odluka o izdanju mora odnositi.
  • Razlikujte spajanje koda, raspoređivanje i omogućavanje funkcije korisnicima.
  • Odredite uslove za zaustavljanje ili poništavanje izdanja.

Precizno navedite odluku

Zeleni pipeline daje dokaze iz skupa provjera. Nije potpun opis odluke o izdanju. Odgovorna osoba treba znati šta će se promijeniti, gdje i koje posljedice ostaju.

Za izmišljeni izvoz podataka o klijentima utvrdite prihvaćeni commit i artefakt proizveden iz njega. Navedite ciljno okruženje. Povežite relevantne testove, pregled i svaki odobreni izuzetak. Uključite promjene podataka ili infrastrukture koje prate aplikaciju.

NIST-ov SSDF pruža prakse sigurnog razvoja, dok SLSA podaci o porijeklu pomažu opisati kako je artefakt proizveden. Nijedno ne uklanja potrebu za odlukom je li ovo izdanje prikladno za ovu uslugu. NIST SSDF, SLSA podaci o porijeklu.

Odvojite tri događaja

Spajanje koda unosi promjenu izvornog koda u granu. Raspoređivanje postavlja artefakt u okruženje. Omogućavanje funkcije čini ponašanje dostupnim korisnicima. Ovi događaji mogu se poklopiti, ali nisu nužno isti događaj.

Usluga može rasporediti neaktivnu funkciju i omogućiti je kasnije. Migracija baze podataka može utjecati na produkciju prije pojave vidljive funkcije. Odredite stvarni redoslijed umjesto pretpostavke da spajanje PR-a opisuje svaku posljedicu.

Za izvoz, feature flag može ograničiti početnu dostupnost funkcije. Ne štiti automatski novu krajnju tačku niti poništava migraciju sheme. Provjerite kontrolu na mjestu gdje posljedica nastaje.

Pregledajte sažet zapis dokaza

Koristite zapis koji druga odgovorna osoba može pregledati:

  • Svrha i zahvaćeni korisnici.
  • Identitet commita i artefakta.
  • Relevantne provjere ponašanja, sigurnosti i kompatibilnosti.
  • Ciljno okruženje i identitet izvršavanja.
  • Preostali izuzeci s odgovornim osobama i uslovima isteka.
  • Nadzor, metoda oporavka i osoba odgovorna za odgovor.

Neka tvrdnje budu konkretne. „Testovi su prošli“ slabije je od veze prema rezultatima za commit izdanja uz jasan opis pokrivenosti. „Vraćanje na prethodnu verziju je dostupno“ slabije je od testiranog postupka s navedenim ograničenjima.

Odlučite kako zaustaviti izdavanje

Odredite uslove izdavanja prije izvršavanja. Za izmišljeni izvoz zaustavite izdavanje ako pristup podacima druge organizacije uspije, ako se artefakt razlikuje od prihvaćenog kriptografskog sažetka ili ako oporavak nije dostupan. Ovo su ilustrativni uslovi, a ne univerzalna kontrolna lista.

Nakon raspoređivanja pregledajte signale važne korisnicima. Uporedite ponašanje pri greškama i vremena odgovora s prihvaćenim ciljevima usluge. Ispravan proces ne dokazuje da korisnički radni tok funkcioniše.

Ako neki uslov nije ispunjen, koristite dogovoreni odgovor. To može značiti onemogućavanje funkcije, vraćanje kompatibilnog koda na prethodnu verziju ili oporavak podataka. Odaberite radnju koja rješava neuspjeh bez stvaranja većeg problema.

Sačuvajte odluku nakon izdavanja

Zabilježite stvarno raspoređeni artefakt i ishod. Ako se izvršavanje razlikuje od plana, učinite razliku vidljivom. Uključite incidente i neočekivani rad u dizajn sljedećeg izdanja.

Automatizovani sistem isporuke treba olakšati pregled ovog zapisa. Ne treba zahtijevati da osoba zadužena za pregled rekonstruira izdanje iz nepovezanih razgovora, zapisnika i snimaka ekrana. Jasni dokazi omogućavaju timovima automatizaciju rutinskog rada uz zadržavanje odluka s jasnom odgovornošću.

Uradite vježbu

Pripremite izmišljenu bilješku o izdanju za izvoz podataka o klijentima. Uključite commit, kriptografski sažetak artefakta, okruženje, provjeru autorizacije, učinak migracije, osobu odgovornu za nadzor i povod za oporavak. Navedite jedan uslov koji bi zaustavio izdanje čak i ako jedinični testovi prođu.

Preuzmite radni list (Markdown)
Provjerite razumijevanje ↑

Nastavite učiti

Izvori i dodatno čitanje

Povezano štivo kompanije Taiga

Prethodna lekcija: Koordinirajte razvoj uz AI između timova