Automatizace stavby - Build automation

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:

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.

Viz také

Reference