Prozkoumání kontinuální integrace
Kontinuální integrace (CI) je jedním z nejzákladnějších prvků DevOps. Podporuje spolupráci, přispívá k včasnému zjišťování problémů s kvalitou kódu a přináší výhody zjednodušeného procesu vývoje. Slouží také jako základ průběžného doručování a nasazování. Díky využití postupů CI bude organizace popsaná v našem ukázkovém scénáři schopná eliminovat ruční úsilí spojené s sestavováním a testováním svých aplikací a efektivně urychlit jejich doručování uživatelům. Abychom vám pomohli plně ocenit výhody CI, popíšeme je v této lekci.
Co je kontinuální integrace?
Kontinuální integrace je proces automatického sestavování a testování aktualizovaných verzí softwaru po jednotlivých aktualizacích úložiště softwaru. Model integrace obecně zahrnuje vývojáře, kteří prostřednictvím žádostí o přijetí změn odesílají změny v samostatných větvích. Změny podléhají kolektivní kontrole a za předpokladu, že se její úspěšný výsledek sloučí do hlavní větve. Jednotlivé události potvrzení nebo sloučení se můžou použít k aktivaci sestavení a testování kódu, aby se zajistilo, že navrhované nebo výsledné změny nemají nežádoucí účinky. S průběžnou integrací jsou sestavení a testy plně automatizované.
Tato automatizace je založená na definicích sestavení a testování vytvořených vývojáři a implementovaných v hostitelské platformě úložiště. Například GitHub nabízí pro tento účel pracovní postup GitHub Actions, zatímco Azure DevOps spoléhá na Azure Pipelines.
Jaké jsou výhody kontinuální integrace?
Hlavní výhody spojené s kontinuální integrací jsou založené na obecné strategii posunu doleva, kterou (jak zjistíte později v tomto modulu), ovlivňuje také mnoho dalších postupů DevOps. Základní místně spočívá v tom, že čím déle trvá zjištění problému zavedeného prostřednictvím změny kódu, tím nákladnější a náročnější je jeho oprava. S kontinuální integrací se co nejdříve provádí sestavování a testování kódu. Jsou také implementovány automatizovaným způsobem, což zvyšuje rychlost a spolehlivost. Kontinuální integrace zlepšuje konzistenci a zajišťuje, aby se sestavení a testy prováděly reprodukovatelným způsobem. Tato konzistence zase pomáhá vynucovat programovací standardy, což vede k čistějšímu a jednoduššímu údržbě kódu. V neposlední řadě je průběžná integrace obvykle součástí průběžného doručování, což zjednodušuje správu životního cyklu celé aplikace. Minimalizace režie spojené s údržbou aktivit sestavení, testování a nasazení zvyšuje celkovou produktivitu vývojových a provozních týmů, což zkracuje dobu uvedení softwaru na trh.