Циљ и исход предмета
Студент је оспособљен да коришћењем саврамених алата за изградњу софтвера креира скрипте за паковање и испоруку софтвера и апликација. На крају курса, студент ће имати дубоко разумевање процеса изградње софтвера и техника за његову аутоматизацију.
Теоријска настава
Преглед основних корака изградње (енг. build) софтвера: чишћење, компајлирање, тестирање, паковање и и постављање у продукцију. Управљање ресурсима у процесу изградње софтвера. Преглед основних алата за изградњу софтвера. Примена изабраног алата за изградњу софтвера. Паковање библиотека наспрам паковања извршних апликација. Изградња веб апликација. Аутоматизација извршавања тестова као део процеса изградње софтвера. Управљање верзијама софтвера. Управљање повезаним компонентама у процесу изградње софтвера. Основни принципи непрекидне интеграција и испоруке софтвера (CI/CD). Имплементација CI/CD процеса у изабраном алату за изградњу софтвера. Интеграција са системом за управљање верзијама софтвера. Изградња модуларних софтвера.
Практична настава
Писање једноставнијих скрипри за изградњу софтвера у изабраном алату и за дати готов софтверски пројекат. Писање скрипти за изградњу модуларних софтвера, библиотека, десктоп апликација и веб апликација. Имплементација CI/CD процеса у изабраном алату за изградњу софтвера. Интеграција са системом за управљање верзијама (git).
Предлог алата: https://www.jenkins.io/