Continuous integration polega na wprowadzaniu własnych zmian do kodu w sposób ciągły, w praktyce raz do kilku razy dziennie. Oznacza to udostępnienie kolejnej wersji aplikacji wielokrotnie w ciągu jednego dnia, w przeciwieństwie do klasycznego podejścia, gdzie wersje wydawane były w dużych odstępach czasu. Integracja kodu jest procesem powtarzalnym i często schematycznym. Automatyzacja procesu pozwala zaoszczędzić czas programistów i przyspieszyć Time to Market.
CI niesie ze sobą także reorganizację metod testowania systemu. Przy tak intensywnym wydawaniu kolejnych wersji, wymagane jest automatyczne testowanie oprogramowania pod kątem możliwego zjawiska regresji. Zjawisko to związane jest z obniżeniem jakości istniejących rozwiązań w skutek wprowadzania zmian w innych, często pozornie niezwiązanych funkcjach systemu. Dlatego też każdorazowa zmiana testowana jest pod wieloma względami. Przede wszystkim uruchamiane są za każdym razem testy jednostkowe, sprawdzające poprawność kodu, a także testy behawioralne, sprawdzające najważniejsze aspekty działania całej aplikacji. Testy te uruchamiane są indywidualnie dla każdej wersji. Raport z testów przekazywany jest programistom, tak by mogli od razu rozwiązać nieprzewidziane konflikty. Jeśli testy się powiodą umożliwiona zostanie podmiana wersji produkcyjnej oprogramowania.