Automatizace sestavování programu

Z Wikipedie, otevřené encyklopedie

Automatizace sestavování programu je proces automatického sestavení softwaru a s tím související procesy: kompilace zdrojového kódu do binárního kódu počítače, zabalení binárního kódu a spuštění automatizovaných testů.

Přehled[editovat | editovat zdroj]

Historicky se automatizace prováděla pomocí makefile.

Existují dvě obecné kategorie nástrojů:

Nástroje pro automatizaci sestavování
To zahrnuje nástroje jako Make, Rake, CMake, MSBuild, Ant, Maven nebo Gradle (Java) atd. Jejich primárním účelem je generování artefaktů sestavování prostřednictvím aktivit, jako je kompilace a propojení zdrojového kódu.
Servery pro automatizaci sestavování
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í; Server pro průběžnou integraci je typ serveru pro automatizaci sestavování.

V závislosti na úrovni automatizace je možná následující klasifikace:

Nástroje pro automatizaci sestavování[editovat | editovat zdroj]

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 stanoveného úkolu a produktově orientované nástroje popisují věci z hlediska produktů, které generují.

Servery pro automatizaci sestavování[editovat | editovat zdroj]

Ačkoli servery pro sestavování existovaly dlouho před servery pro průběžnou integraci, jsou obecně synonymem serverů pro průběžnou integraci. Server pro sestavování může být také začleněn do nástroje ARA (Application-release automation nebo nástroje ALM (Application lifecycle management).

Typy serverů

Distribuovaná automatizace sestavení[editovat | editovat zdroj]

Automatizace je dosažena pomocí kompilační farmy buď pro distribuovanou kompilaci, nebo pro 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 průběžné integraci[editovat | editovat zdroj]

Automatizace sestavování 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 průběžnou integrací, nasazení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.[1]

Výhody[editovat | editovat zdroj]

Mezi výhody automatizace sestavování pří vývoji software patří:

  • Nezbytná podmínka pro průběžnou integraci a průběžné testování
  • Zlepšení kvality produktu
  • Urychlení zpracování kompilace a propojení
  • Eliminace nadbytečných úkolů
  • Minimalizaze „špatných verzí“
  • Eliminace závislosti na klíčových zaměstnancích
  • Dostupnost historií sestavení a vydání pro možnost šetření problémů
  • Ušetření času a peněz - z důvodů uvedených výše

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Build automation na anglické Wikipedii.

  1. BASHAN, Shmuel; BELLAGIO, David E. Work Item Management with IBM Rational ClearQuest and Jazz: A customization Guide. [s.l.]: IBM Press, 2011. Dostupné online. ISBN 978-0137001798.