Nuolatinis integravimas (CI) – tai praktika, kai programavimo kodo saugykla dažnai atnaujinama atsižvelgiant į kūrėjo pakeitimus. Tai padeda užtikrinti, kad keli kūrėjai nekurtų vienas kitam prieštaraujančio programavimo kodo. Be nuolatinės integracijos konfliktai, neleidžiantys kodui paleisti, tampa gana dažni.
Aplinkoje, kurioje yra keli kūrėjai, tampa būtina sukurti sistemą, kuri leistų kūrėjams dirbti kartu. Centrinė kodo sistema vadinama kodo baze arba kodų saugykla ir yra viso kūrėjų darbo pradžios taškas. Kiekvienas kūrėjas grupėje gali turėti skirtingą užduotį. Vienam gali tekti patobulinti vartotojo sąsają, o kitam gali tekti išspręsti kodo problemą.
Kūrėjai gali dirbti su skirtingais programos aspektais, tačiau gali kilti konfliktų. Dėl šių konfliktų programa gali tapti nestabili arba net visiškai neveikti. Tai verčia kūrėjus praleisti daugiau laiko nustatant, kuri konkreti kodo dalis sukelia problemą. Dėl to prarandamas produktyvumas ir laikas, nes kūrėjai yra priversti išspręsti problemas, kurių buvo galima išvengti.
Nuolatinė integracija yra šios problemos sprendimas. Nuolatinis integravimas užtikrina, kad kiekvienas kūrėjo atliktas pakeitimas būtų nedelsiant atnaujintas kodo saugykloje. Kai kitas kūrėjas prisijungs prie kodo saugyklos, jis gaus kopiją su ankstesnio kūrėjo atliktais pakeitimais. Tai padeda užtikrinti, kad kiekvienas kūrėjas gautų naujausią turimo programavimo kodo kopiją.
Nuolatinė integracija neapsaugo nuo integracijos problemų. Nors nuolatinis integravimas padeda apriboti integravimo problemas, šios problemos vis tiek kyla visose kelių kūrėjų aplinkose. Net ir nuolat integruojant, kiekvienam kūrėjui vis tiek reikia laiko, kad pakeistų kodą. Dėl to kai kurie saugyklos pakeitimai atliekami kitiems kūrėjams to nesuvokiant.
Nors nuolatinė integracija negali sušvelninti visų konfliktų, kylančių daugelio kūrėjų aplinkoje, tai yra efektyvus sprendimas, padidinantis produktyvumą. Tai leidžia keliems kūrėjams dirbti kartu ir sukurti programas per pagrįstą laiką. Be jo kūrėjai būtų priversti praleisti valandas bandydami ištaisyti problemas, kylančias dėl bandymo integruoti dvi skirtingas kodo dalis. CI taupo kūrėjų laiką ir taupo įmonių bei vartotojų pinigus.