Build folyamat automatizálása Jenkins keretrendszer segítségével

OData támogatás
Konzulens:
Dr. Csorba Kristóf
Automatizálási és Alkalmazott Informatikai Tanszék

Napjainkban egyre fontosabb automatizálni bizonyos folyamatokat. Az önműködő rendszerek segítségével idő és pénz spórolható meg, hiszen az egyes munkafolyamatok manuális elvégzése rendkívül költséges megoldás. Ezen felül az automatizálás segítségével az emberi hibalehetőségek száma a lehető legnagyobb mértékben csökken, ami a termék minőségének javulásához vezet.

Dolgozatomban nagy hangsúlyt fektetek a folyamatos integrációra. A folyamatos integráció lépéseit automatizálva – beleértve a build automatizációt is – valósítottam meg az automatikusan működő rendszeremet.

Bemutatom a Jenkis keretrendszer funkcióit és tulajdonságait, emellett prezentálom a szükséges beállításokat, amelyek nélkülözhetetlenek a folyamat megfelelő működéséhez.

Ezen belül ismertetem a szkriptnyelveket a Python nyelven keresztül. Mivel a Jenkins csak egy keretrendszer, a valódi működésért egy Python nyelven írt szkript felel. A szkriptben valósul meg minden lépés és funkció, amit a folyamatnak tudnia kell.

Kitérek a verziókövető rendszerek fontosságára. Mivel a projekt fájljait verziókövető rendszer segítségével egy szerveren tárolja, a folyamaton belül meg kell valósítani a kommunikációt a Jenkins-t futtató szerver és a projektet tároló szerver között, a verziókövető által. Mivel egy kevesek által használt verziókövetőt használunk (MKS), ezért viszonylag bonyolult megoldást mutatok be a kommunikáció megvalósítására. Emellett megemlítek egy egyszerűbb kivitelezési módot is.

A QA C nevű programon keresztül ismertetem a statikus kód analizátorok működését. Mivel a folyamatos integráció egyik fontos lépése a QA C futtatása, ezért bemutatom, hogyan kell bevonni a folyamatba.

Szemléltetem a folyamatos integráció automatizált lépéseit. Minden lépést részletesen ismertetek, beleértve a felhasznált technológiákat is.

Végül megmutatom hogyan érhetőek el a Jenkins funkciói külső alkalmazásból. Készítettem egy Jenkins REST API alapján működő alkalmazást, amely segítségével a webes felület nélkül is elérhetővé válnak az egyes Jenkins funkcionalitások.

Letölthető fájlok

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