Eksplorowanie ciągłej integracji

Zakończone

Ciągła integracja (CI) jest jednym z najbardziej podstawowych elementów metodyki DevOps. Promuje współpracę, przyczynia się do wczesnego wykrywania problemów z jakością kodu i przynosi korzyści usprawnionemu procesowi programowania. Służy również jako podstawa ciągłego dostarczania i wdrażania. Stosując praktyki ciągłej integracji, organizacja opisana w naszym przykładowym scenariuszu będzie mogła wyeliminować ręczne nakłady pracy związane z kompilowaniem i testowaniem aplikacji, skutecznie przyspieszając dostarczanie ich użytkownikom. Aby pomóc Ci uzyskać pełne uznanie korzyści z ciągłej integracji, opiszemy je w tej lekcji.

Co to jest ciągła integracja?

Ciągła integracja to proces automatycznego kompilowania i testowania zaktualizowanych wersji oprogramowania po poszczególnych aktualizacjach repozytorium oprogramowania. Ogólnie rzecz biorąc, wzorzec integracji obejmuje deweloperów przesyłając zmiany w oddzielnych gałęziach za pośrednictwem żądań ściągnięcia. Zmiany podlegają przeglądowi zbiorowemu i, przy założeniu, że jego pomyślny wynik zostanie scalony z gałęzią główną. Pojedyncze zdarzenia zatwierdzania lub scalania mogą służyć do wyzwalania kompilacji i testowania kodu w celu zapewnienia, że proponowane lub wynikowe zmiany nie mają negatywnych skutków. Dzięki ciągłej integracji kompilacja i testy są w pełni zautomatyzowane.

Diagram przepływu ciągłej integracji.

Ta automatyzacja jest oparta na definicjach kompilacji i testowania utworzonych przez deweloperów i zaimplementowanych na platformie hostingu repozytorium. Na przykład usługa GitHub oferuje w tym celu przepływ pracy funkcji GitHub Actions, podczas gdy usługa Azure DevOps korzysta z usługi Azure Pipelines.



Jakie są zalety ciągłej integracji?

Podstawowe korzyści związane z ciągłą integracją są oparte na ogólnej strategii shift-left, która (jak dowiesz się w dalszej części tego modułu) ma również wpływ na wiele innych praktyk DevOps. Podstawowym założeniem jest to, że dłuższe wykrywanie problemu wprowadzonego przez zmianę kodu, tym droższe i czasochłonne jest jego rozwiązanie. Dzięki ciągłej integracji tworzenie i testowanie kodu odbywa się tak szybko, jak to możliwe. Są one również implementowane w zautomatyzowany sposób, co zwiększa ich szybkość i niezawodność. Ciągła integracja zwiększa spójność, zapewniając, że kompilacje i testy są przeprowadzane w sposób powtarzalny. Z kolei spójność ta pomaga wymusić standardy programowania, co prowadzi do czystszego i łatwiejszego utrzymania kodu. Na koniec, ale nie tylko ciągła integracja jest zwykle częścią ciągłego dostarczania, usprawniając całe zarządzanie cyklem życia aplikacji. Minimalizacja nakładu pracy związanego z konserwowaniem działań związanych z tworzeniem, testowaniem i wdrażaniem zwiększa ogólną produktywność zespołów programistycznych i operacyjnych, skracając czas na rynek produktów oprogramowania.