Automatizálás a szoftverfejlesztésben folyamatos integráció és folyamatos szállítás eszközökkel

Elmentve itt :
Bibliográfiai részletek
Szerző: Földvári Ádám
További közreműködők: Drahos Tamás
Kaderják Gyula
Dokumentumtípus: Diplomadolgozat
Kulcsszavak:automatizáció - automatizálás
CI/CD
devops
Folyamatos integráció
Folyamatos szállítás
Online Access:http://dolgozattar.uni-bge.hu/39063
Leíró adatok
Kivonat:Szakdolgozatom első felében bemutatom a DevOps fogalmát elméleti oldalról, áttekintve a vonatkozó szakirodalmat. Megvizsgálom a DevOps kapcsolatát a szoftverfejlesztési metodológiákkal és az automatizációval. A második fejezetben arra keresem a választ, hogy milyen kapcsolatban áll a DevOps az agilis szemlélettel, milyen kapcsolódó elméletek és gyakorlatok léteznek az automatizáción túl. A harmadik fejezetben bemutatom a DevOps automatizáció eszköztárát és a megvalósításához szükséges lépéseket, úgymint: verzió követés, tesztautomatizálás, konténerizáció, automatikus élesítés és szállítás, valamint monitorozás. Áttekintem a rendelkezésre álló felhő szolgáltatásokat is, amelyek segítik a rendszer működését. A téma elméleti áttekintése után pedig bemutatom, milyen feladatok várnak az informatikus csapatokra, amikor úgy döntenek, hogy DevOps szemléletben kezdenek neki egy projektnek. Az ezzel járó automatizáció különböző szoftverek és eszközök együttes használatának és megfelelő konfigurációjának az eredménye. Ezért a negyedik fejezetben elkészítek négy esettanulmányt, amelyeken keresztül áttekintést adok a legnépszerűbb eszközökről és egyben gyakorlati példát hozok a lehetséges megoldásokra. Az ötödik fejezetben először empirikus módon hasonlítom össze az elkészült esettanulmányokat a következő szempontok alapján: fejlesztésre fordított idő, DevOps gyakorlatok érvényesülése, kompatibilitás és limitációk. Végül pedig az elkészült CI/CD pipeline-okat teljesítmény és skálázhatóság szempontjából is megvizsgálom három kísérlet mérési eredményeinek az összehasonlításával. Ezzel szeretném szemléltetni a DevOps automatizációval járó feladatokat, a feladatok elvégzéséhez szükséges programozói eszköztárat és tudást, valamint megtalálni azokat a szempontokat, amelyeket érdemes figyelembe venni egy ilyen komplex folyamat megtervezése és kivitelezése során.