kontakt
Software house
>
Blog
>
CI/CD - na czym polega i jak prawidłowo stosować tę metodę 

CI/CD - na czym polega i jak prawidłowo stosować tę metodę 

Data wpisu
Tomasz Kozon
Autor
Tomasz Kozon
Proces

Wytwarzanie oprogramowania zwykle odbywa się w zespołach, w których każdy odpowiedzialny jest za swoją część pracy. Czym większy zespół, tym większym wyzwaniem może stać się integracja wszystkich elementów w jedną działającą całość. 

Proces CI (Continuous Integration, Ciągła Integracja) i CD (Continuous Delivery, Ciągłe Dostarczanie) nazywane często CI/CD pipeline to część metodyki DevOps i zestaw dobrych praktyk ułatwiających pracę przy projektach informatycznych.  

 

Czym jest Ciągła Integracja? 

Ciągła Integracja (CI) polega na stosowaniu centralnego repozytorium kodu i maksymalnie częstym, regularnym wprowadzaniu do niego drobnych zmian.  

Następnie należy przeprowadzić ich weryfikację przy pomocy zbudowania projektu, przeprowadzania zautomatyzowanych testów jednostkowych według metodologii Test Driven Development (TDD) i statycznej analizy kodu, która pozwala na szybkie wykrycie błędów.  

Każdy fragment kodu przed wprowadzeniem do repozytorium należy przetestować lokalnie. Kompilację źródeł należy przeprowadzać regularnie, najlepiej po każdej wprowadzonej zmianie. 

Do repozytorium ma dostęp każdy programista pracujący nad kodem, regularnie dopisując lub usuwając swoje treści. Po zakończonej pracy repozytorium trzeba scalić i opublikować. W  porządkowaniu wpisów pomocne są systemy kontroli wersji, takie jak git.  

Przy wprowadzeniu naraz zbyt dużej ilości zmian, zwłaszcza bez zwrócenia uwagi na zmiany wprowadzane w tym samym czasie przez innych członków zespołu, mogą pojawić się problemy z integracją (tzw. Merge hell). 

CI/CD

 

Jakie problemy rozwiązuje Ciągła Integracja (CI)? 

 

Ciągła Integracja (CI) zmniejsza nakłady pracy potrzebne do scalenia prac wykonywanych przez różnych członków zespołu i pozwala na szybkie wykrywanie błędów dzięki regularnym testom. 

Ciągłe Dostarczanie (CD) czyli regularne sprawdzanie czy działa. 

Tam, gdzie kończy się Ciągła Integracja przychodzi pora na Ciągłe Dostarczanie (Continuous Delivery, CD). CD polega na zautomatyzowanym budowaniu paczek oprogramowania gotowych do umieszczenia w wybranym środowisku. Dzięki temu w dowolnym momencie pracy gotowa paczka może zostać zaprezentowana klientowi.  

 

Korzyści z zaimplementowania metody CI/CD 

  1. Szybszy i bardziej regularny feedback 

Regularne dostarczanie oprogramowania daje szansę na szybsze zgłaszanie uwag przez użytkowników i wdrożenie zmian naprawczych na wcześniejszym etapie. 

  1. Wcześniej wprowadzane zmiany pozwalają na oszczędność czasu i pieniędzy. 
  2. Wytwarzanie wyższej jakości produktów. Produkt regularnie testowany i sprawdzany ma większe szanse na spełnienie oczekiwań odbiorcy. 

Przykładowe narzędzia CI/CD: 

  • GitLab 
  • Travis CI 
  • Spinnaker 
  • Jenkins 
  • CircleCI 
  • BuildKite 

Ostatnie Wpisy