SeptiÅas visizplatÄ«tÄkÄs kļūdas, pÄrejot uz CI/CD
Ja jÅ«su uzÅÄmums tikai ievieÅ” DevOps vai CI/CD rÄ«kus, jums var bÅ«t noderÄ«gi iepazÄ«ties ar visbiežÄk pieļautajÄm kļūdÄm, lai tÄs neatkÄrtotos un neuzkÄptu uz kÄda cita grÄbekļa.
Ja paskatÄs uz ciklisko diagrammu DevOps, ir skaidrs, ka DevOps praksÄ testÄÅ”ana ir nepÄrtraukta darbÄ«ba, katras izvietoÅ”anas bÅ«tiska sastÄvdaļa.
DevOps bezgalÄ«gÄ cikla diagramma
TestÄÅ”ana un kvalitÄtes nodroÅ”inÄÅ”ana izstrÄdes un piegÄdes laikÄ ir bÅ«tiska daļa no visa, ko izstrÄdÄtÄji dara. Tas prasa domÄÅ”anas maiÅu, lai katrÄ uzdevumÄ iekļautu testÄÅ”anu.
TestÄÅ”ana kļūst par katra komandas locekļa ikdienas darba sastÄvdaļu. PÄreja uz pastÄvÄ«gu testÄÅ”anu nav vienkÄrÅ”a, jums ir jÄbÅ«t tam gatavam.
Atsauksmju trūkums
DevOps efektivitÄte ir atkarÄ«ga no pastÄvÄ«gas atgriezeniskÄs saites. NepÄrtraukta pilnveidoÅ”anÄs nav iespÄjama, ja nav vietas sadarbÄ«bai un komunikÄcijai.
UzÅÄmumiem, kas nerÄ«ko retrospektÄ«vas sanÄksmes, ir grÅ«ti ieviest nepÄrtrauktas atgriezeniskÄs saites kultÅ«ru CI/CD. Katras iterÄcijas beigÄs tiek rÄ«kotas retrospektÄ«vas sanÄksmes, kuru laikÄ komandas locekļi apspriež, kas gÄja labi un kas slikti. RetrospektÄ«vas sanÄksmes ir Scrum/Agile pamats, taÄu tÄs ir nepiecieÅ”amas arÄ« DevOps.
Tas ir tÄpÄc, ka retrospektÄ«vas sanÄksmes ieaudzina ieradumu apmainÄ«ties ar atsauksmÄm un viedokļiem. Viens no svarÄ«gÄkajiem punktiem sÄkumÄ ir atkÄrtotu retro sanÄksmju organizÄÅ”ana, lai tÄs kļūtu saprotamas un pazÄ«stamas visai komandai.
RunÄjot par programmatÅ«ras kvalitÄti, visi komandas locekļi ir atbildÄ«gi par tÄs uzturÄÅ”anu. PiemÄram, izstrÄdÄtÄji var rakstÄ«t vienÄ«bu testus un arÄ« rakstÄ«t kodu, paturot prÄtÄ pÄrbaudÄmÄ«bu, palÄ«dzot samazinÄt risku jau no paÅ”a sÄkuma.
Viens vienkÄrÅ”s veids, kÄ atspoguļot izmaiÅas domÄÅ”anÄ par testÄÅ”anu, ir izsaukt testÄtÄjus nevis kvalitÄtes nodroÅ”inÄtÄjus, bet gan programmatÅ«ras testÄtÄjus vai kvalitÄtes inženierus. Å Ä«s izmaiÅas var Ŕķist pÄrÄk vienkÄrÅ”as vai pat muļķīgas. Bet, nosaucot kÄdu par "programmatÅ«ras kvalitÄtes nodroÅ”inÄÅ”anas personu", rodas nepareizs priekÅ”stats par to, kurÅ” ir atbildÄ«gs par produkta kvalitÄti. Agile, CI/CD un DevOps praksÄ ikviens ir atbildÄ«gs par programmatÅ«ras kvalitÄti.
VÄl viens svarÄ«gs punkts ir saprast, ko kvalitÄte nozÄ«mÄ visai komandai un katram tÄs dalÄ«bniekam, organizÄcijai un ieinteresÄtajÄm pusÄm.
PÄrpratums par posma pabeigÅ”anu
Ja kvalitÄte ir nepÄrtraukts un vispÄrÄjs process, ir nepiecieÅ”ama vienota izpratne par posma pabeigÅ”anu. KÄ zinÄt, kad posms ir beidzies? Kas notiek, ja solis ir atzÄ«mÄts kÄ pabeigts uz Trello vai cita Kanban paneļa?
GatavÄ definÄ«cija (DoD) ir spÄcÄ«gs rÄ«ks CD DevOps/CI kontekstÄ. Tas palÄ«dz labÄk izprast kvalitÄtes standartus tam, ko un kÄ komanda veido.
IzstrÄdes komandai ir jÄizlemj, ko nozÄ«mÄ āGatavsā. ViÅiem ir jÄapsÄžas un jÄizveido raksturlielumu saraksts, kas jÄievÄro katrÄ posmÄ, lai to uzskatÄ«tu par pabeigtu.
DoD padara procesu caurspÄ«dÄ«gÄku un atvieglo CI/CD ievieÅ”anu, ja to saprot visi komandas locekļi un par to vienojas.
ReÄlu, skaidri definÄtu mÄrÄ·u trÅ«kums
Å is ir viens no visbiežÄk citÄtajiem padomiem, taÄu tas ir jÄatkÄrto. Lai gÅ«tu panÄkumus jebkurÄ nozÄ«mÄ«gÄ darbÄ, tostarp CI/CD vai DevOps, jums ir jÄizvirza reÄli mÄrÄ·i un jÄizvÄrtÄ veiktspÄja, salÄ«dzinot ar tiem. Ko jÅ«s mÄÄ£inÄt panÄkt ar CI/CD? Vai tas nodroÅ”ina ÄtrÄku izlaiÅ”anu ar labÄku kvalitÄti?
Jebkuriem izvirzÄ«tajiem mÄrÄ·iem jÄbÅ«t ne tikai pÄrskatÄmiem un reÄlistiskiem, bet arÄ« jÄatbilst uzÅÄmuma paÅ”reizÄjÄm darbÄ«bÄm. PiemÄram, cik bieži jÅ«su klientiem ir nepiecieÅ”ami jauni ielÄpi vai versijas? Nav nepiecieÅ”ams pÄrslogot procesus un ÄtrÄk atbrÄ«vot, ja lietotÄjiem nav papildu ieguvumu.
TurklÄt jums ne vienmÄr ir jÄievieÅ” gan CD, gan CI. PiemÄram, stingri regulÄti uzÅÄmumi, piemÄram, bankas un medicÄ«nas klÄ«nikas, var strÄdÄt tikai ar KI.
CI kalpo kÄ labs sÄkumpunkts jebkuram uzÅÄmumam, kas ievieÅ” DevOps. Kad tas tiek ieviests, uzÅÄmumu pieeja programmatÅ«ras piegÄdei bÅ«tiski mainÄs. Kad CI ir apgÅ«ts, varat domÄt par visa procesa uzlaboÅ”anu, izlaiÅ”anas Ätruma palielinÄÅ”anu un citÄm izmaiÅÄm.
DaudzÄm organizÄcijÄm pietiek ar CI vien, un CD ir jÄievieÅ” tikai tad, ja tas rada pievienoto vÄrtÄ«bu.
AtbilstoÅ”u informÄcijas paneļu un metrikas trÅ«kums
Kad esat iestatÄ«jis savus mÄrÄ·us, izstrÄdes komanda var izveidot informÄcijas paneli KPI mÄrÄ«Å”anai. Pirms tÄ izstrÄdes ir vÄrts novÄrtÄt parametrus, kas tiks uzraudzÄ«ti.
DažÄdi pÄrskati un lietojumprogrammas ir noderÄ«gas dažÄdiem komandas locekļiem. Scrum Master vairÄk interesÄ statuss un sasniedzamÄ«ba. SavukÄrt augstÄko vadÄ«bu varÄtu interesÄt speciÄlistu izdegÅ”anas lÄ«menis.
Dažas komandas izmanto arÄ« informÄcijas paneļus ar sarkaniem, dzelteniem un zaļiem indikatoriem, lai novÄrtÄtu CI/CD statusu, lai saprastu, vai viss tiek darÄ«ts pareizi, vai ir kļūda. Sarkans nozÄ«mÄ, ka jums ir jÄpievÄrÅ” uzmanÄ«ba notiekoÅ”ajam.
TomÄr, ja informÄcijas paneļi nav standartizÄti, tie var bÅ«t maldinoÅ”i. AnalizÄjiet, kÄdi dati ikvienam ir nepiecieÅ”ami, un pÄc tam izveidojiet standartizÄtu aprakstu par to, ko tie nozÄ«mÄ. Uzziniet, kas ieinteresÄtajÄm personÄm ir saprÄtÄ«gÄks: grafika, teksts vai cipari.
Nav manuÄlu testu
TestÄÅ”anas automatizÄcija veido pamatu labam CI/CD cauruļvadam. TaÄu automatizÄtÄ testÄÅ”ana visos posmos nenozÄ«mÄ, ka nevajadzÄtu veikt manuÄlu testÄÅ”anu.
Lai izveidotu efektÄ«vu CI/CD cauruļvadu, ir jÄveic arÄ« manuÄlas pÄrbaudes. VienmÄr bÅ«s daži testÄÅ”anas aspekti, kuriem nepiecieÅ”ama cilvÄka analÄ«ze.
Ir vÄrts apsvÄrt iespÄju savÄ konveijerÄ integrÄt manuÄlÄs testÄÅ”anas pasÄkumus. Kad dažu testa gadÄ«jumu manuÄlÄ testÄÅ”ana ir pabeigta, varat pÄriet uz izvietoÅ”anas fÄzi.
NemÄÄ£iniet uzlabot pÄrbaudes
EfektÄ«vam CI/CD konveijeram ir nepiecieÅ”ama piekļuve pareizajiem rÄ«kiem, neatkarÄ«gi no tÄ, vai tÄ ir testu pÄrvaldÄ«ba vai integrÄcija un pastÄvÄ«ga uzraudzÄ«ba.
SpÄcÄ«gas, uz kvalitÄti orientÄtas kultÅ«ras izveides mÄrÄ·is ir testu Ä«stenoÅ”ana, uzraugot klientu mijiedarbÄ«bu pÄc izvietoÅ”anas un izsekojot uzlabojumus.
Šeit ir daži praktiski padomi, kurus varat viegli īstenot:
PÄrliecinieties, vai jÅ«su testi ir viegli uzrakstÄmi un pietiekami elastÄ«gi, lai nepÄrkÄptu, pÄrveidojot kodu.
IzstrÄdes komandas ir jÄiekļauj testÄÅ”anas procesÄ ā skatiet sarakstu ar lietotÄju problÄmÄm un pieprasÄ«jumiem, kas ir svarÄ«gi pÄrbaudÄ«t CI konveijera laikÄ.
Jums var nebÅ«t pilns testa pÄrklÄjums, taÄu vienmÄr pÄrliecinieties, ka tiek pÄrbaudÄ«tas plÅ«smas, kas ir svarÄ«gas UX un klientu pieredzei.
PÄdÄjais, bet ne mazÄk svarÄ«gais punkts
PÄreja uz CI/CD parasti tiek virzÄ«ta no apakÅ”as uz augÅ”u, taÄu galu galÄ tÄ ir transformÄcija, kas no uzÅÄmuma prasa vadoÅ”o lomu, laiku un resursus. Galu galÄ CI/CD ir prasmju, procesu, rÄ«ku un kultÅ«ras pÄrstrukturÄÅ”anas kopums; Å”Ädas izmaiÅas var Ä«stenot tikai sistemÄtiski.