Folyamatos szoftverintegráció követése, és fázisainak felügyelete nagyvállalati környezetben

OData támogatás
Konzulens:
Dr. Erős Levente
Távközlési és Médiainformatikai Tanszék

Csapatmunkában történő fejlesztés esetén manapság már elengedhetetlen, hogy a fejlesztők minél gyakrabban összeillesszék már megírt kódjaikat, ami által az esetleges hibák elég korán kiküszöbölhetők, így elkerülve az esetleges több napos vagy akár hetes hibás fejlesztési irányt. Ezt az új megközelítést Folyamatos Integrációnak hívják.

A folyamatos integráció lényege, hogy a fejlesztők által legalább naponta egyszer szállított új kódrészletek szükséges tesztjeit a beszállítási időszakot követően egyből el lehessen végezni, így ideális esetben pár óra alatt kiderüljön, ha valami hiba került a forráskódba. A fejlesztési mód jelentős hátránya, hogy a rendkívül gyakori szállítások miatt egy nagy projekt esetében a termékben történt változások manuális követése, dokumentációja rendkívül nehéz.

Feladatom egy olyan automatikusan működő rendszer megtervezése és megvalósítása volt, amely képes egy szállításhoz köthető információkat eltárolni, majd azok alapján elő tudja állítani, hogy az új kiadásban milyen szoftvermodulok változtak. A tárolásért egy MySQL adatbázis felelős, míg az egyes adatok eltárolását MySQL tárolt eljárások végzik.

A megtervezett adatbázis, illetve a működtető tárolt eljárásokon kívül létrehoztam egy keretrendszert, aminek segítségével a fejlesztők által használt szoftverek elérhetik az adatbázist. Ez a keret egy PHP nyelven megírt script, ami különböző paraméterezés hatására más és más tárolt eljárást hív meg.

Legutolsó lépésként felvázoltam és létrehoztam egy megoldást, aminek segítségével az egyes folyamatok dokumentálás automatizálható. A megvalósításhoz két, a fejlesztéshez használt szoftverhez kellett kiegészítő script-ekett írnom. A script-ek egy része a GIT verziókövető rendszerhez íródott, segítségükkel az változások tárolása válik lehetővé. Továbbiak pedig a Jenkins automatizációs felülethez íródtak.

A felület már futtat néhány automatizált folyamatot, mint a szoftver fordítása, vagy a tesztek futása, így ezeket kellett kiegészíteni, hogy eredményeik tárolhatósága érdekében.

A rendszer létrehozása hozzájárult a fejlesztés áttekinthetőségéhez, ami a gyors és gazdaságos fejlesztés alapköve, továbbá jelentősen csökkentette a manuális és hibára hajlamos adminisztráció szükségességét.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.