Cider - An Event-driven Continuous Integration Server
Cider - An Event-driven Continuous Integration Server
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/73029Identifikátory
SIS: 129632
Kolekce
- Kvalifikační práce [10678]
Autor
Vedoucí práce
Oponent práce
Nečaský, Martin
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Správa počítačových systémů
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
16. 6. 2014
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
continuous integration, communication platform, event-driven serverKlíčová slova (anglicky)
continuous integration, communication platform, event-driven serverProfesionální vývoj software vyžaduje robustní vývojový proces. Při implementaci vybraného procesu je často zapotřebí zintegrovat několik vývojář\-ských nástrojů či služeb. Pří návrhu integrace je potřeba rozhodnout především jak propojit dané služby tak, aby bylo celé řešení snadno spravovatelné a rozšiřitel\-né do budoucna. V této práci nejprve definujeme modelový vývojový proces zahrnují\-cí audit kódu a automaticke testování změn. Poté navrhujeme, jak systémy optimálně propojit pro daný proces. Řešení je založené na distribuci událostí mezi nástroji. To dovoluje nepropojovat systémy přímo a nechává prostor pro budoucí rozšíření. V další části práce se snažíme implementovat zvolené řešení za použití existujících systémů. Protože optimální systém pro testování změn nebyl nalezen, přícházíme s vlastní implementací. Powered by TCPDF (www.tcpdf.org)
A solid workflow is necessary when developing software professionally. Manual integration of multiple services has to be often performed when a~custom development process is chosen. It must be decided how to connect the tools together so that they are not tightly coupled so that the solution is scalable from the administrative point of view. We present a model development workflow incorporating code review and build automation. Then we propose how to integrate the services in what we believe is the optimal way. The chosen approach is based on the publish-subscribe communication pattern that makes the services decoupled to some extent and also makes it simple to add more services in the future. Having the optimal integration process outlined, we evaluate some of the existing continuous integration servers that could be potentially used for the chosen workflow. After finding no fitting system, we propose and implement a build server that integrates seamlessly with other development tools. Powered by TCPDF (www.tcpdf.org)