Co to jest CI/CD?

Na początku musisz wiedzieć, że tworzenie, produkcja oprogramowania to proces składający z wielu faz następujących o określonych sposób po sobie lub cyklicznie powtarzających się. Zaczynając od pomysłu, idei poprzez wytwarzanie, testy i wdrożenie aż do zakończenia produkcji.

CI (Continuous Integration) – Ciągła integracja. Jest to sposób tworzenia kolejnych części oprogramowania w krótkich okresach czasu. Tak aby, powiedzmy co dwa tygodnie dostarczyć kolejny zaplanowany gotowy element. Choćby najmniejszy ale ważne by to był gotowy i przetestowany element. Mały krok do przodu.
Kod oprogramowanie ląduje we wspólnym repozytorium kodu (GIT). Proces ten powinien być jak najbardziej zautomatyzowany (Jenkins, Hudson). 
Finalnym efektem tej pracy jest gotowy program, tak zwany artefakt (jar,war,py) i przechowywany jest w repozytorium artefaktów (Artifactory, Nexus)

CD (Continuous Delivery) – Ciągłe dostarczanie. Jest to zestaw procesów mających za zadanie dostarczenie w sposób automatyczny, programu na środowisko testowe lub produkcyjne. Jest to naturalne rozszerzenie, kontynuacja Continuous Integration. Środowisko jest również budowane w sposób automatyczny (Terraform, Ansible).

A wszystko to jest tak zwaną kulturą pracy, mającą na celu dostarczenie, gotowego, sprawdzonego i wdrożonego oprogramowania. CI/CD jest podstawą pracy devopsa, ale nieodzownie w tym procesie bierze udział programista i tester.

Polecane książki:

DevOps