Udostępnij za pośrednictwem


Korzystanie z ciągłej integracji

Ciągła integracja (CI) to proces automatycznego kompilowania i testowania kodu za każdym razem, gdy członek zespołu zatwierdza zmiany kodu w kontroli wersji. Zatwierdzenie kodu w głównej gałęzi lub gałęzi magistrali udostępnionego repozytorium wyzwala zautomatyzowany system kompilacji w celu kompilowania, testowania i weryfikowania pełnej gałęzi. Ciągła integracja zachęca deweloperów do udostępniania kodu i testów jednostkowych przez scalenie zmian w udostępnionym repozytorium kontroli wersji za każdym razem, gdy wykonują zadanie.

Deweloperzy oprogramowania często pracują w izolacji, a następnie muszą zintegrować swoje zmiany z resztą bazy kodu zespołu. Liczba dni oczekiwania lub tygodni integracji kodu może powodować wiele konfliktów scalania, trudne do naprawienia błędów, rozbieżne strategie kodu i zduplikowane wysiłki. Ciągła integracja pozwala uniknąć tych problemów, ponieważ wymaga ciągłego scalania kodu zespołu deweloperów z udostępnioną gałęzią kontroli wersji.

Ciągła integracja utrzymuje aktualność gałęzi głównej. Deweloperzy mogą używać nowoczesnych systemów kontroli wersji, takich jak Git, aby odizolować swoją pracę w krótkotrwałych gałęziach funkcji. Po zakończeniu tej funkcji deweloper przesyła żądanie ściągnięcia z gałęzi funkcji do gałęzi głównej. Po zatwierdzeniu żądania ściągnięcia zmiany scalają się z gałęzią główną, a gałąź funkcji można usunąć.

Zespoły programistyczne powtarzają ten proces dla każdego elementu roboczego. Zespoły mogą ustanowić zasady gałęzi, aby upewnić się, że gałąź główna utrzymuje żądane kryteria jakości.

Definicje kompilacji określają, że każde zatwierdzenie w gałęzi głównej wyzwala zautomatyzowany proces kompilacji i testowania. Testy automatyczne sprawdzają, czy każda kompilacja utrzymuje spójną jakość. Ciągła integracja przechwytuje usterki wcześniej w cyklu programowania, co czyni je mniej kosztownymi do naprawienia. 

Ciągła integracja to standardowa funkcja na nowoczesnych platformach DevOps. Użytkownicy usługi GitHub mogą implementować ciągłą integrację za pomocą funkcji GitHub Actions. Użytkownicy usługi Azure DevOps mogą używać usługi Azure Pipelines.