Continuous Integration (CI)
A Continuous Integration (folyamatos integráció) olyan szoftverfejlesztési gyakorlat, amelyben a fejlesztők rendszeresen (naponta többször) integrálják kódjukat egy közös repository-ba, amit automatizált build és tesztelési folyamat követ.
Fő elemei és jellemzői
- Verziókezelés: A kód változásainak nyomon követése (pl. Git, SVN)
- Automatizált build folyamat: A forráskód automatikus fordítása futtatható szoftverré
- Automatizált tesztelés: Unit tesztek, integrációs tesztek futtatása minden integráció után
- Korai hibafelderítés: Problémák azonnali azonosítása az integrációs fázisban
- Gyakori commit-ok: Kód rendszeres feltöltése a központi repository-ba (naponta többször)
- Build szerver: Dedikált környezet az automatizált folyamatok futtatására (pl. Jenkins, GitLab CI, GitHub Actions)
- Visszajelzés: Azonnali értesítés a build és tesztelési eredményekről
Előnyei
- Csökkenti az integrációs problémákat ("integration hell" elkerülése)
- Gyorsabb hibajavítás
- Magasabb kódminőség
- Csökkenti a párhuzamos fejlesztésből eredő konfliktusokat
- Transzparens fejlesztési folyamat
- Fenntartható fejlesztési tempó
A CI a DevOps gyakorlat alapvető pillére, amely összeköti a fejlesztési és üzemeltetési folyamatokat.