Definicja:
Praktyka programistyczna polegająca na częstym i regularnym łączeniu kodu źródłowego tworzonym przez różnych członków zespołu w centralnym repozytorium. Każda integracja jest weryfikowana przez automatyczne budowanie projektu i uruchamianie testów, co pozwala na wczesne wykrywanie błędów integracyjnych.
Kluczowe elementy CI:
- Częste commity – programiści integrują swój kod co najmniej raz dziennie, często kilka razy
- Automatyczna kompilacja – każda zmiana w repozytorium uruchamia proces budowania aplikacji
- Automatyczne testy – zestaw testów jednostkowych i integracyjnych wykonywany po każdej zmianie
- Szybka informacja zwrotna – zespół natychmiast dowiaduje się o problemach z integracją
Korzyści biznesowe:
- Redukcja ryzyka – małe, częste zmiany są łatwiejsze do debugowania niż duże integracje
- Wyższa jakość kodu – ciągłe testowanie zapewnia stabilność aplikacji
- Szybsze dostarczanie wartości – gotowy do wdrożenia kod jest dostępny częściej
- Lepsza współpraca zespołu – wszyscy pracują na aktualnej wersji kodu
CI stanowi fundament dla bardziej zaawansowanych praktyk DevOps, takich jak Continuous Deployment. Jest kluczowym elementem nowoczesnych metodyk Agile i Scrum.
