Avtomatizacija gradnje je tehnika, ki se uporablja v življenjskem ciklu razvoja programske opreme, kjer se izvorna koda programske opreme uskladi v kodo računalniškega strojnega jezika s skriptom za izdelavo avtomatizacije. Ta proces avtomatizacije gradnje je postal običajna praksa z razvojem kompleksnih paradigem programske opreme. Ker se je programska oprema razvila iz strukturiranega programiranja od zgoraj navzdol v objektno usmerjene porazdeljene module, je avtomatizacija gradnje postala kritična odvisnost pri upravljanju teh komponent.
V življenjskem ciklu razvoja kompleksnih programskih aplikacij je več korakov. Najprej se programska koda razvije, testira in integrira v samostojno razvojno okolje. Ko razvijalec dokonča kodo, se integrira v skupno okolje, kjer mora komunicirati z drugimi komponentami programske opreme, ki jih lahko izdelajo drugi razvijalci. Preden se koda integrira v skupno okolje, je treba sprejeti več previdnostnih ukrepov, da zagotovimo, da novo razvita koda ne vpliva na kodo drugih razvijalcev v skupini za razvoj programske opreme.
Običajno se avtomatizacija gradnje zaključi z uporabo skriptnega jezika, ki razvijalcu omogoča, da poveže druge module in procese v procesu prevajanja. Ta skriptni jezik vsebuje ročne naloge, potrebne za ustvarjanje kakovostnega programskega izdelka. Te naloge vključujejo dokumentacijo, testiranje, prevajanje in distribucijo binarne programske kode.
Avtomatizacija gradnje je dobro znana kot najboljša praksa za generiranje programske kode, saj zagotavlja zmožnost zagotavljanja bolj kakovostne programske opreme. Avtomatizacija testiranja kode je glavni razlog za to izboljšavo. S prisilnim izvajanjem testnih skriptov pred integracijo kodnih modulov v prevedeno kodo bo program programske opreme verjetno imel manj napak med ciklom uvajanja.
Ker je avtomatizacija gradnje napredovala, so napredovali tudi skriptni jeziki, ki jih uporabljajo razvijalci programske opreme za prevajanje izvorne kode. V prvih letih avtomatizacije gradnje so številne naloge opravili predani strokovnjaki za gradnjo, ki so izvajali skripte za gradnjo iz ukazne vrstice operacijskega sistema. Danes so ti skriptni jeziki za gradnjo dejansko vgrajeni v večino paketov integriranega razvojnega okolja (IDE).
Druga ključna prednost avtomatizacije gradnje je zmožnost sledenja vplivom na kodo na podlagi zgodovinskih zbirk. Naloga znotraj skripta za gradnjo vključuje generiranje številke različice za kodo. Ta številka različice omogoča razvijalcem in preizkuševalcem programske opreme referenčno točko, kdaj je bila v produkcijskem okolju uvedena nova napaka.
Avtomatizacija gradnje je olajšala upravljanje procesa sestavljanja programske opreme v skupinah za razvoj programske opreme. Ta postopek povečuje produktivnost in zagotavlja višjo kakovost programskega izdelka, saj omogoča večkratno uporabo skriptov za vse kompilacije programske opreme.