Kryptis 04Pamoka 9 / 10

Sprendimą išleisti pagrįskite įrodymais

Patikrinkite versiją, tikslinę aplinką, likusią riziką ir atkūrimo būdą. Atskirkite sujungimą, diegimą ir funkcijos suteikimą naudotojams, kai sistemai to reikia.

Praktinis9 minPeržiūrėta

Leidžia Kaip rašome

Patikrinkite, ar supratotePeržiūrėtojas patvirtina commit A, bet diegimas surenka commit B su papildomu autorizavimo pakeitimu. Ko reikia?Atlikite užduotį
Peržiūrėtojas patvirtina commit A, bet diegimas surenka commit B su papildomu autorizavimo pakeitimu. Ko reikia?

Ko išmoksite

  • Nustatykite, kuo turi remtis išleidimo sprendimas.
  • Atskirkite sujungimą, diegimą ir funkcijos suteikimą naudotojams.
  • Apibrėžkite išleidimo sustabdymo ar grąžinimo sąlygas.

Tiksliai nurodykite sprendimą

Žalias konvejeris pateikia patikrinimų rinkinio įrodymus. Jis nėra išsamus išleidimo sprendimo aprašymas. Atsakingas asmuo turi žinoti, kas keisis, kur keisis ir kokios pasekmės lieka.

Išgalvotam klientų eksportui nurodykite priimtą commit ir iš jo sukurtą artefaktą. Įvardykite tikslinę aplinką. Susiekite atitinkamus testus, peržiūrą ir visas patvirtintas išimtis. Įtraukite duomenų ar infrastruktūros pakeitimus, lydinčius programą.

NIST SSDF pateikia saugaus kūrimo praktiką, o SLSA kilmės duomenys padeda aprašyti, kaip artefaktas buvo sukurtas. Nė vienas nepanaikina poreikio nuspręsti, ar ši versija tinka šiai paslaugai. NIST SSDF, SLSA kilmės duomenys.

Atskirkite tris įvykius

Sujungimas įtraukia pirminio kodo pakeitimą į šaką. Diegimas įkelia artefaktą į aplinką. Funkcijos įjungimas suteikia veikimą naudotojams. Šie įvykiai gali sutapti, bet nebūtinai yra tas pats įvykis.

Paslauga gali įdiegti neaktyvią funkciją ir įjungti ją vėliau. Duomenų bazės migracija gali paveikti produkcinę aplinką prieš pasirodant matomai funkcijai. Apibrėžkite tikrąją seką, o ne manykite, kad PR sujungimas aprašo kiekvieną pasekmę.

Eksportui funkcijos vėliavėlė gali riboti pradinį prieinamumą naudotojams. Ji automatiškai neapsaugo naujo API adreso ir neatšaukia schemos migracijos. Patikrinkite kontrolės priemonę ten, kur atsiranda pasekmė.

Peržiūrėkite glaustą įrodymų įrašą

Naudokite įrašą, kurį kitas atsakingas žmogus gali išnagrinėti:

  • Tikslas ir paveikti naudotojai.
  • Commit ir artefakto tapatybė.
  • Susiję veikimo, saugumo ir suderinamumo patikrinimai.
  • Tikslinė aplinka ir vykdymo tapatybė.
  • Likusios išimtys su atsakingais asmenimis ir galiojimo pabaigos sąlygomis.
  • Stebėsena, atkūrimo būdas ir už reakciją atsakingas asmuo.

Teiginiai turi būti konkretūs. „Testai praėjo“ yra silpniau nei nuoroda į leidžiamos versijos commit rezultatus su aiškiu aprėpties aprašu. „Galima grįžti į ankstesnę versiją“ yra silpniau nei išbandyta procedūra su nurodytomis ribomis.

Nuspręskite, kaip sustabdyti

Apibrėžkite išleidimo sąlygas prieš vykdymą. Išgalvotam eksportui sustokite, jei pavyksta prieiga prie kitos organizacijos, jei artefaktas skiriasi nuo priimtos maišos reikšmės arba jei atkūrimas neprieinamas. Tai iliustracinės sąlygos, o ne universalus kontrolinis sąrašas.

Po diegimo išnagrinėkite naudotojams svarbius signalus. Palyginkite klaidų veikimą ir atsako laikus su priimtais paslaugos tikslais. Veiksnus procesas neįrodo, kad naudotojo darbo eiga veikia.

Jei sąlyga neįvykdoma, taikykite sutartą reakciją. Tai gali reikšti funkcijos išjungimą, suderinamo kodo grąžinimą į ankstesnę versiją ar duomenų atkūrimą. Pasirinkite veiksmą, kuris pašalina sutrikimą nesukeldamas didesnio.

Išsaugokite sprendimą po išleidimo

Užfiksuokite iš tiesų įdiegtą artefaktą ir rezultatą. Jei vykdymas skiriasi nuo plano, parodykite skirtumą. Incidentus ir netikėtą darbą įtraukite į kito išleidimo projektavimą.

Automatizuota pristatymo sistema turi padėti šį įrašą išnagrinėti. Ji neturi versti peržiūrėtojo atkurti išleidimo iš nesusietų pokalbių, žurnalų ir ekrano nuotraukų. Aiškūs įrodymai leidžia komandoms automatizuoti įprastą darbą išlaikant atsakingus sprendimus.

Atlikite užduotį

Parenkite išgalvotą klientų eksporto versijos pastabą. Įtraukite commit, artefakto maišos reikšmę, aplinką, autorizavimo patikrinimą, migracijos poveikį, už stebėseną atsakingą asmenį ir atkūrimo sąlygą. Nurodykite vieną sąlygą, kuri sustabdytų išleidimą net praėjus vienetiniams testams.

Atsisiųsti užduoties lapą (Markdown)
Patikrinkite, ar supratote ↑

Mokykitės toliau

Šaltiniai ir papildoma literatūra

Susijęs Taiga turinys

← Ankstesnė pamoka: Koordinuokite DI kūrimą tarp komandų