Sedm nejčastějších chyb při přechodu na CI/CD

Sedm nejčastějších chyb při přechodu na CI/CD
Pokud vaše firma teprve implementuje nástroje DevOps nebo CI/CD, může se vám hodit seznámit se s nejčastějšími chybami, abyste je neopakovali a nešlápli někomu jinému hrábě. 

Tým Cloudová řešení Mail.ru přeložil článek Vyhněte se těmto běžným nástrahám při přechodu na CI/CD od Jasmine Chokshi s doplňky.

Neochota měnit kulturu a procesy

Při pohledu na schéma cyklu devops, je zřejmé, že v postupech DevOps je testování nepřetržitou prací, základní součástí každého jednotlivého nasazení.

Sedm nejčastějších chyb při přechodu na CI/CD
Diagram nekonečného cyklu DevOps

Testování a zajištění kvality během vývoje a dodávky je nezbytnou součástí všeho, co vývojáři dělají. To vyžaduje změnu myšlení, aby bylo testování součástí každého úkolu.

Testování se stává součástí každodenní práce každého člena týmu. Přechod na průběžné testování není jednoduchý, je potřeba se na to připravit.

Nedostatek zpětné vazby

Efektivita DevOps závisí na neustálé zpětné vazbě. Neustálé zlepšování není možné, pokud není prostor pro spolupráci a komunikaci.

Pro společnosti, které neorganizují retrospektivní setkání, je obtížné zavést kulturu nepřetržité zpětné vazby v CI/CD. Na konci každé iterace se konají retrospektivní schůzky, kde členové skupiny diskutují o tom, co se povedlo a co se nepovedlo. Retrospektivní schůzky jsou základem Scrumu/Agile, ale jsou také nezbytné pro DevOps. 

Je to proto, že retrospektivní setkání vštěpují zvyk vyměňovat si zpětnou vazbu a názory. Jedním z nejdůležitějších momentů na startu je organizace opakovaných retro setkání tak, aby byly srozumitelné a známé pro celý tým.

Pokud jde o kvalitu softwaru, všichni členové týmu jsou odpovědní za její udržování. Vývojáři mohou například psát testy jednotek i kód s ohledem na testovatelnost, což pomáhá snižovat rizika od začátku.

Jedním snadným způsobem, jak reflektovat měnící se vnímání testování, je zavolat testerům nikoli QA, ale testerům softwaru nebo inženýrům kvality. Tato změna se může zdát příliš jednoduchá nebo dokonce hloupá. Ale nazývat někoho „specialisty na zajišťování kvality softwaru“ dává špatnou představu o tom, kdo je zodpovědný za kvalitu produktu. V praxi Agile, CI/CD a DevOps je za kvalitu softwaru odpovědný každý.

Dalším důležitým bodem je pochopení toho, co kvalita znamená pro celý tým a každého jeho člena, organizaci, zainteresované strany.

Nepochopení dokončení etapy

Pokud je kvalita nepřetržitý a sdílený proces, je zapotřebí společné chápání dokončení etapy. Jak pochopit, že etapa skončila? Co se stane, když je milník označen jako dokončený na nástěnce Trello nebo jiné kanbanové nástěnce?

Určení dokončeného milníku (DoD) je mocný nástroj v kontextu CD DevOps/CI. Pomáhá lépe porozumět standardům kvality toho, co a jak tým buduje.

Vývojový tým se musí rozhodnout, co znamená „Hotovo“. Musí si sednout a vytvořit seznam vlastností, které musí být splněny v každé fázi, aby ji bylo možné považovat za kompletní.

DoD činí proces transparentnějším a usnadňuje implementaci CI/CD, pokud je to všem členům týmu jasné a vzájemně dohodnuté.

Nedostatek realistických, jasně definovaných cílů

Toto je jeden z nejčastěji citovaných tipů, ale stojí za to si ho zopakovat. Aby jakýkoli seriózní podnik uspěl, včetně implementace CI/CD nebo DevOps, musíte si stanovit realistické cíle a měřit výkon podle nich. Čeho se snažíte dosáhnout pomocí CI/CD? Umožňuje rychlejší vydání s lepší kvalitou?

Jakékoli stanovené cíle by měly být nejen transparentní a reálné, ale také v souladu s aktuálními aktivitami společnosti. Například, jak často vaši zákazníci potřebují nové opravy nebo verze? Není třeba přetěžovat procesy a uvolňovat rychleji, pokud to uživatelům nepřináší další výhody.

Také nemusíte vždy implementovat CD i CI. Například vysoce regulované společnosti, jako jsou banky a lékařské kliniky, mohou pracovat pouze s CI.

CI je dobrým výchozím bodem pro každou společnost implementující DevOps. Když je implementován ve společnosti, přístupy k poskytování softwaru se výrazně mění. Jakmile je CI zvládnuto, můžete přemýšlet o vylepšení celého procesu, zvýšení rychlosti zavádění a dalších změnách.

Pro mnoho organizací stačí jedna CI a CD by mělo být implementováno pouze v případě, že přináší přidanou hodnotu.

Nedostatek relevantních řídicích panelů a metrik

Jakmile nastavíte cíle, vývojový tým může vytvořit řídicí panel pro měření KPI. Před jeho vývojem se vyplatí vyhodnotit parametry, které budou sledovány.

Různé sestavy a aplikace jsou užitečné pro různé členy týmu. Scrum mistři se více zajímají o status a dosah. Zatímco vrcholové vedení může zajímat míra vyhoření specialistů.

Některé týmy také používají řídicí panely s červenými, žlutými a zelenými indikátory k posouzení stavu CI / CD, aby pochopily, zda dělají vše správně nebo zda došlo k chybě. Červená znamená, že musíte věnovat pozornost tomu, co se děje.

Pokud však palubní desky nejsou standardizované, mohou být zavádějící. Analyzujte, jaká data každý potřebuje, a poté vytvořte standardizovaný popis toho, co to znamená. Zjistěte, co dává vašim zainteresovaným stranám větší smysl: grafika, text nebo čísla.

Nedostatek manuálních testů

Automatizace testů pokládá základy dobrého CI/CD potrubí. Ale automatizované testování ve všech fázích neznamená, že byste neměli provádět manuální testování. 

K vybudování efektivního CI/CD potrubí jsou také nutné ruční testy. Vždy budou některé aspekty testování, které vyžadují lidskou analýzu.

Stojí za to zvážit integraci ručního testování do potrubí. Po dokončení ručního testování některých testovacích případů můžete přejít do fáze nasazení.

Nesnažte se zlepšit testy

Efektivní kanál CI/CD vyžaduje přístup ke správným nástrojům, ať už jde o správu testů nebo integraci a průběžné monitorování.

Cílem je vytvořit silnou kulturu orientovanou na kvalitu testovací implementace, sledovat zákaznickou zkušenost po nasazení a sledovat zlepšení. 

Zde je několik praktických tipů, které můžete snadno implementovat:

  1. Ujistěte se, že se testy snadno píší a jsou dostatečně flexibilní, aby se nerozbily, když je kód refaktorován.
  2. Vývojové týmy by měly být zahrnuty do procesu testování – viz seznam uživatelských problémů a požadavků, které je důležité testovat během CI kanálů.
  3. Možná nemáte plné testovací pokrytí, ale vždy se ujistěte, že jsou testovány toky, které jsou důležité pro UX a zákaznickou zkušenost.

Poslední, ale neposlední bod

Přechod na CI/CD je obvykle iniciován odspodu, ale nakonec se jedná o transformaci, která vyžaduje zapojení managementu, čas a zdroje na straně společnosti. Koneckonců, CI / CD je soubor dovedností, procesů, nástrojů a kulturní restrukturalizace, takové změny lze provádět pouze systematicky.

Co si k tématu ještě přečíst:

  1. Jak technický dluh zabíjí vaše projekty.
  2. Jak zlepšit DevOps.
  3. 2020 hlavních trendů DevOps v roce XNUMX.

Zdroj: www.habr.com

Přidat komentář