Automatikus build végrehajtás
Napjaink high-tech szoftverrendszereinek összetettsége régen túlhaladta azt a szintet, ahol a forráskódból a telepíthető, futtatható bináris előállítása, majd tesztelése egy fejlesztő munkaállomásán praktikus idő alatt elvégezhető. Komoly projektekben egy-egy fejlesztői commit után automatizált kódgenerátorok, fordítók, minőségi metrika számító, unit-, integrációs- és regressziós tesztelést végző programok sora fut le, amelyek együttesen lehetővé teszik, hogy a team uralja a korábban példátlan komplexitást, folyamatosan konzisztens képet lásson a rendszer egészéről és a legrövidebb időn belül értesüljön az esetleg felmerülő problémákról.
Egy modern build szerver integrálódik a verziókontrolhoz, fordítóprogramokhoz, az issue kezelőhöz és a tesztelést végző szerverekhez, levéve a fejlesztők válláról a fordítás, telepítés és tesztek futtatásának feladatát. Az így előálló continuous integration folyamat drámaian növeli a teamek hatékonyságát, javítja a termék minőségét és versenyelőnyt biztosít a vállalatnak, nem csoda, hogy a modern agilis szoftverfejlesztési módszerek egyik kulcselemévé vált.
A feladat egy több millió soros Eclipse alapú desktop Java alkalmazás build folyamatának automatizálásához kapcsolódik. A jelenlegi (Hudson és Eclipse Buckminster alapú) megoldás képes automatikusan fordítani, integrálni és telepíthető csomaggá összeállítani az alkalmazást, majd egy grafikus teszt futtató eszközzel user interface tesztek százait végrehajtani, és statikus analízist végezni, végül elküldeni az eredményeket az érintett fejlesztőknek és letölthető formában publikálni az alkalmazást. A munka célja a fenti toolchain build végrehajtó elemének migrációja a nemrég megjelent és ígéretes Eclipse Tycho technológiára.
A feladat megoldása során a hallgató először megismeri az érintett technológiákat, feltérképezi az új megoldás jellemzőit, megtervezi a toolchain szükséges módosításait és átalakítja a build folyamatot. A feladat elkezdéséhez a fent említett technológiák ismerete nem követelmény, de előnyt jelenthet. A munka során a hallgató folyamatosan segítséget kap a ThyssenKrupp Presta Hungary Kft. jelenlegi struktúrát kialakító tool fejlesztőitől, használhat egy teszt rendszert és idővel hozzáférhet az éles build szerverhez. A feladatra többen is jelentkezhetnek.
További információ: Pintér Gergely (gergely.pinter@thyssenkrupp.com)