Co je kontinuální integrace?
Kontinuální integrace (CI) je praxe udržování úložiště programovacího kódu často aktualizovaného se změnami vývojáře. To pomáhá zajistit, aby více vývojářů nevytvářelo programovací kód, který je ve vzájemném konfliktu. Bez trvalé integrace se konflikty, které zabraňují spuštění kódu, stávají docela běžnými.
V prostředí s více vývojáři je nutné vytvořit systém, který umožní vývojářům spolupracovat. Centrální systém kódu je označován jako základna kódu nebo úložiště kódů a slouží jako výchozí bod pro veškerou práci vývojářů. Každý vývojář ve skupině může mít jiný úkol. Jeden může potřebovat zlepšit uživatelské rozhraní, zatímco jiný může potřebovat opravit problém v kódu.
Vývojáři mohou pracovat na různých aspektech programu, existuje však možnost vzniku konfliktů. Tyto konflikty mohou vést k nestabilitě programu nebo dokonce k tomu, že aplikace vůbec nebude spuštěna. To nutí vývojáře trávit více času určováním toho, která konkrétní část kódu způsobuje problém. To má za následek ztrátu produktivity a času, protože vývojáři jsou nuceni řešit problémy, kterým bylo možné se vyhnout.
Řešením tohoto problému je kontinuální integrace. Nepřetržitá integrace funguje tak, že každá změna, kterou vývojář provede, je okamžitě aktualizována v úložišti kódu. Když jiný vývojář přistupuje k úložišti kódů, obdrží kopii se změnami, které provedl předchozí vývojář. To pomáhá zajistit, aby každý vývojář obdržel nejaktuálnější kopii dostupného programovacího kódu.
Neustálá integrace nezabrání problémům s integrací. I když nepřetržitá integrace pomáhá omezovat problémy s integrací, tyto problémy stále přetrvávají ve všech prostředích pro více vývojářů. I při nepřetržité integraci je nutné, aby každý vývojář provedl změny kódu. To má za následek některé změny v úložišti, aniž by si to ostatní vývojáři uvědomili.
I když nepřetržitá integrace není schopna zmírnit všechny konflikty, které vznikají v prostředí pro více vývojářů, je to efektivní řešení, které maximalizuje produktivitu. Umožňuje více vývojářům spolupracovat a vytvářet aplikace v rozumném množství času. Bez něj by vývojáři byli nuceni trávit hodiny snahou napravit problémy, které vzniknou v důsledku pokusu o integraci dvou různých částí kódu. CI šetří vývojářům čas a šetří podnikům a spotřebitelům peníze.