Sestavení produktu, postup sestavení a jeho varianty, nástroje pro sestavení.

Z Na státnice zvesela!

Přejít na: navigace, hledání

[editovat] Sestavení produktu

  • Aktivity podporující transformaci zdrojových prvků konfigurace na odvozené
  • Cílem je vytvořit systematický a automatizovaný postup
  • Vlastnosti sestavení
    • jedinečnost a identifikovatelnost
    • úplnost - kompletní systém, obsahuje všechny komponenty
    • konzistence - správné verze komponent
    • opakovatelnost - možnost opakovat build daného sestavení kdykoliv v budoucnu
    • dodržuje pravidla vývojové linie
  • Typy sestavení
    • Podle použitých částí
      • čistý
      • úplný
      • inkeremntální
    • Podle účelu
      • soukromý
      • integrační
      • release(build)

[editovat] Postup sestavení

  • Soukromé sestavení
    • ověření konzistentnosti konfigurace po mnou provedených změnách před commitem
    • build skript podobný oficiálnímu, sestavení v soukromém prostoru
  • Integrační sestavení
    • ověření sestavitelnosti celého produktu
    • build prováděn centrálně automatizovaným a opakovatelným procesem
  • Release build
    • Významný integrační build dodávaný zákazníkovi
  • Pomocné techniky
    • Kusovník - kompletní seznam prvků sestavení - reprodukovatelnost a schopnost sestavení kdekolik a kdykoliv
    • Archivace prostředí - správa verzí objektů, které nejsou v uložišti (nástroje, platformy, hardware, ...), důležité pro dlouho žíjící software, uplatnění zde najdou virtuální stroje, kdy se archivuje jen obraz virtuálního stroje v požadované konfiguraci

[editovat] Nástroje

  • Make -- skript popisující závislosti, pravidla, cíle a příkazy. Soubor makefile, program make.
    • Rozšířen hlavně na unixových OS
    • existují různé multiplatformní varianty (cmake, qmake, ...)
  • Ant -- rozšířený nástroj podobný make určený pro Javu. Elementy project, target, task. Soubor build.xml
  • Maven
    • pokročilý nástroj pro sestavování a řízení projektu
    • Java platforma
    • oproti Antu zaměřen na konvenci (zdrojáky na předem určeném místě apod.) namísto konfigurace
    • ke kompilaci využívá Ant, ale navíc zvládá stahování potřebných knihoven k sestavení aplikace
  • Existují další nástroje pro různé programovací jazyky a OS.