Skip to content
Infrastruktūra

CI patikros, kurios sustabdo blogus diegimus

Tegul CI patikros sąmoningai sustabdo blogus diegimus – kol produkcija netampa pirmuoju tikrintoju

2025 m. liepos 28 d.
Manweba

Žalias surinkimas, kuris vis tiek išleidžia viešą S3 saugyklą ar praleistą duomenų bazės migraciją, nėra CI – tai optimizmas. Politikos patikros „paprastai prisimename“ turi virsti „CI tiesiog neleidžia“. Tame ir esmė.

Atskirkite patikrinimą nuo išleidimo

Turėkite greitą patikrinimo juostą (kodo stilius, tipų patikra, vienetų testai) ir griežtesnę išleidimo juostą (integraciniai testai, politika kaip kodas, pasirašyti atvaizdai). Sumaišius viską į vieną lėtą užduotį, komandos išmoksta CI apeiti, kai vėluoja.

Privalomų patikrų pagrindinėje šakoje turi būti nedaug ir jos turi būti prasmingos. Nestabilios patikros dėl išvaizdos moko žmones spausti „apeiti“.

GitHub Actions: planas ir politika prieš taikymą

yaml
Loading code…

Politika, kuri įvardija problemą

Rašykite politikas jau priimtiems sprendimams: jokių viešų objektų saugyklų, privalomas šifravimas, jokių IAM pakaitos simbolių produkcijos rolėse. Nutraukite darbą su žinute, pagal kurią žmogus gali veikti, o ne su neapdorotu Rego klaidų išklotine.

Viešo S3 draudimas plano JSON faile

rego
Loading code…

Žmonių patikros lieka žmonėms

Pakeitimų taikymas produkcijoje vis tiek turėtų reikalauti aplinkos apsaugos taisyklės arba aiškaus patvirtinimo. Politika pagauna žinomus blogus sprendimus, žmonės – naujus. Vienas kito nepakeičia.

Užrašykite, kas patvirtino, koks atvaizdas išleistas ir kuris pakeitimas jį sukūrė. Auditai pigesni, kai CI istoriją jau užfiksavo.

Pradėkite nuo trijų patikrų

Jei kol kas neturite nieko: (1) testai turi praeiti, (2) infrastruktūros planas turi atitikti politiką, (3) diegimui į produkciją reikia patvirtinimo. Plėskite tik tada, kai tikras incidentas parodys trūkstamą patikrą, o ne tada, kai koks nors straipsnis išvardys dvidešimt įrankių.

Apibendrinimas

Geras CI – tai sąmoningų atmetimų grandinė. Tegul pipeline būna pirmasis žinomų rizikų tikrintojas, o žmonių patvirtinimus palikite sprendimams dėl produkcijos. Ir nepuoškite proceso patikromis, kuriomis niekas netiki.

Norite, kad jūsų produktas būtų toks pat apgalvotas?