DevOpsInżynieria oprogramowania

Continuous Integration i Continuous Delivery

Continous Delivery

Continuous Integration i Continuous Delivery to narzędzia pozwalające na automatyzacje procesu tworzenia oprogramowania.

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

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

Continuous Integration (CI)

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

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.

Continuous Delivery

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

Przygotowaną paczkę relase DevOps może uruchomić na serwerach produkcyjnych. Continuous Delivery znacznie skraca przygotowanie paczki, oraz wyklucza możliwość popełnienia błędu ludzkiego.

Continuous Deployment

Jest to proces bardzo podobny do Continuous Delivery z dodatkowym automatycznym wdrożeniem nowej wersji oprogramowania na serwer produkcyjny. W tym procesie nie bierze udziału człowiek. 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.

 

Tags:
Show Buttons
Hide Buttons