Sestavení produktu, postup sestavení a jeho varianty, nástroje pro sestavení.
		
			Z Na státnice zvesela!
			
												
			[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
 
 
- 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.