Automatizacija izgradnje softvera

Cilj i ishod predmeta

Student je osposobljen da korišćenjem savramenih alata za izgradnju softvera kreira skripte za pakovanje i isporuku softvera i aplikacija. Na kraju kursa, student će imati duboko razumevanje procesa izgradnje softvera i tehnika za njegovu automatizaciju.

Teorijska nastava

Pregled osnovnih koraka izgradnje (eng. build) softvera: čišćenje, kompajliranje, testiranje, pakovanje i i postavljanje u produkciju. Upravljanje resursima u procesu izgradnje softvera. Pregled osnovnih alata za izgradnju softvera. Primena izabranog alata za izgradnju softvera. Pakovanje biblioteka naspram pakovanja izvršnih aplikacija. Izgradnja veb aplikacija. Automatizacija izvršavanja testova kao deo procesa izgradnje softvera. Upravljanje verzijama softvera. Upravljanje povezanim komponentama u procesu izgradnje softvera. Osnovni principi neprekidne integracija i isporuke softvera (CI/CD). Implementacija CI/CD procesa u izabranom alatu za izgradnju softvera. Integracija sa sistemom za upravljanje verzijama softvera. Izgradnja modularnih softvera.

Praktična nastava

Pisanje jednostavnijih skripri za izgradnju softvera u izabranom alatu i za dati gotov softverski projekat. Pisanje skripti za izgradnju modularnih softvera, biblioteka, desktop aplikacija i veb aplikacija. Implementacija CI/CD procesa u izabranom alatu za izgradnju softvera. Integracija sa sistemom za upravljanje verzijama (git).

Predlog alata: https://www.jenkins.io/