Automatizace stavby - Build automation
Vývoj softwaru |
---|
Automatizace sestavení je proces automatizace vytvoření sestavení softwaru a souvisejících procesů, včetně: kompilace zdrojového kódu počítače do binárního kódu , zabalení binárního kódu a spuštění automatizovaných testů .
Přehled
Historicky se automatizace sestavovala pomocí makefile . Dnes existují dvě obecné kategorie nástrojů:
- Nástroj pro automatizaci sestavení
- To zahrnuje nástroje jako Make , Rake , CMake , MSBuild , Ant , Maven nebo Gradle (Java) atd. Jejich primárním účelem je generování artefaktů sestavení prostřednictvím aktivit, jako je kompilace a propojení zdrojového kódu.
- Servery pro automatizaci sestavení
- Jedná se o obecné webové nástroje, které provádějí obslužné programy pro automatizaci sestavování podle plánu nebo podle spouštění; kontinuální integrace server je typ build-automatizační server.
V závislosti na úrovni automatizace je možná následující klasifikace:
- Makefile - úroveň
- Nástroje založené na výrobě
- Non-Make-založené nástroje
- Vytvářejte nástroje pro generování skriptů (nebo Makefile)
- Nástroje pro kontinuální integraci
- Nástroje pro správu konfigurace
- Meta-build nástroje nebo správci balíčků
- jiný
Seznam softwaru pro každou z nich najdete v seznamu softwaru pro automatizaci sestavení .
Nástroje pro automatizaci sestavení
Obslužné programy pro vytváření sestav umožňují automatizaci jednoduchých a opakovatelných úkolů. Při použití nástroje vypočítá, jak dosáhnout cíle provedením úkolů ve správném konkrétním pořadí a spuštěním každého úkolu. Dva způsoby, jak se nástroje pro sestavení liší, jsou orientované na úkoly a na produkty. Úkolově orientované nástroje popisují závislost sítí z hlediska konkrétního nastaveného úkolu a produktově orientované nástroje popisují věci z hlediska produktů, které generují.
Servery pro automatizaci sestavení
Ačkoli servery sestavení existovaly dlouho před servery pro nepřetržitou integraci, jsou obecně synonymem serverů s nepřetržitou integrací, ale server sestavení může být také začleněn do nástroje ARA nebo nástroje ALM .
Typy serverů
- Automatizace na vyžádání , například uživatel, který spouští skript na příkazovém řádku
- Naplánovaná automatizace , jako je například server pro nepřetržitou integraci s nočním sestavením
- Spuštěná automatizace , jako je server pro nepřetržitou integraci, který běží na každém potvrzení systému správy verzí .
Distribuovaná automatizace sestavení
Automatizace je dosažena pomocí kompilační farmy pro distribuovanou kompilaci nebo provedení kroku obslužného programu. Proces distribuovaného sestavení musí mít inteligenci stroje k pochopení závislostí zdrojového kódu k provedení distribuovaného sestavení.
Vztah k nepřetržitému poskytování a nepřetržité integraci
Automatizace sestavení je považována za první krok v přechodu k implementaci kultury nepřetržitého doručování a DevOps . Automatizace sestav v kombinaci s nepřetržitou integrací , nasazováním , automatizací vydávání aplikací a mnoha dalšími procesy pomáhají posunout organizaci vpřed v zavádění osvědčených postupů pro poskytování softwaru.
Výhody
Mezi výhody automatizace sestavení patří projekty vývoje softwaru
- Nezbytná podmínka pro nepřetržitou integraci a průběžné testování
- Zlepšit kvalitu produktu
- Urychlete zpracování kompilace a propojení
- Eliminujte nadbytečné úkoly
- Minimalizovat „špatné verze“
- Eliminujte závislosti na klíčových zaměstnancích
- Mějte historii sestavení a vydání, abyste mohli vyšetřit problémy
- Ušetřete čas a peníze - z důvodů uvedených výše.