w ,

FajneFajne Dobre!Dobre! ŚwietnieŚwietnie

Continuous Integration i Continuous Delivery

Continuous Integration i Continuous Delivery
Continous Delivery

Continuous Integration i Continuous Delivery to narzędzia automatyzujące proces tworzenia oprogramowania.

W procesie tworzenia oprogramowania można wyróżnić następujące etapy:

  • tworzenie kodu;
  • testy jednostkowe;
  • testy integracyjne;
  • budowanie i publikowanie aplikacji.

Continuous Integration (CI)

Polega na budowaniu, testowaniu jednostkowym i integracyjnym wszystkich źródeł kodu wchodzących w skład aplikacji.

Dlatego proces ten można wykonywać kilka razy dziennie, w zależności od potrzeb organizacji. Najczęściej jest on uruchamiany po każdorazowym push’u kodu do repozytorium. Następnie kod jest zaczytywany z repozytorium i przetwarzany przez CI.

Na przykład wspomniany CI buduje aplikacje w środowisku izolowanym, co eliminuje ryzyko, że programista zapomniał dodać zależności, przez który aplikacja lokalnie działa u niego prawidłowo, a na produkcji już nie.

W przypadku niepowodzenia testów system CI zgłosi ten fakt członkom zespołu/developerowi który zawinił – w zależności od ustawień systemu powiadomień.

Continuous Delivery

Stanowi przedłużenie CI. Oprócz budowania, testowania jednostkowego i integracyjnego, to dodatkowo przygotowuje paczkę wdrożeniową.

Następnie przygotowaną paczkę relase DevOps lub inna osoba odpowiadająca za wdrożenie może uruchomić na serwerach produkcyjnych. Innymi słowy Continuous Delivery znacznie skraca przygotowanie paczki, oraz wyklucza możliwość popełnienia błędu ludzkiego.

Continuous Deployment

Podobnie jak Continuous Delivery odpowiada za przygotowanie paczki jednak z dodatkowym automatycznym wdrożeniem nowej wersji oprogramowania na serwer produkcyjny. Jednak w tym procesie nie bierze udziału człowiek.

Podsumowując od samego początku do końca całość jest zautomatyzowana.

Zalety korzystania z CI/CD

  • automatyzuje procesy;
  • zmniejsza ryzyko popełnienia błędu;
  • łatwiejsze wydawanie aplikacji;

Najpopularniejsze narzędzia CI/CD

  • Jenkins;
  • TeamCity;
  • Hudson;
  • Travis CI.

Kurs Continuous Integration

Jeśli chcesz rozpocząć naukę CI/CD to zapraszam Cię na mój kurs:

Kurs Continuous Integration | Continuous Delivery | Continuous Deployment

Pierwsze odcinki tego kuru są dostępne na moim kanale YouTube.

Napisane przez Przemysław Bykowski

Aktywny programista i energiczny trener. Specjalizuje się w Spring Boot i uczę go w ramach AkademiaSpring.pl. Po godzinach udzielam się na YouTubach. Więcej o mnie.

Dodaj komentarz

Docker od podstaw

Docker – budowa obrazu dla aplikacji w Spring Boot

jenkins

Jenkins, własna instancja – instalacja i uruchomienie