CI/CD (Continuous Integration/Continuous Deployment) to praktyka związana z automatyzacją procesów wytwarzania oprogramowania. Jest to efektywne i regularne łączenie kodu napisanego przez programistów i jego weryfikacja począwszy od testów jednostkowych, poprzez testy integracyjne, aż do automatycznej dostawy gotowych aplikacji do środowiska produkcyjnego.
Ciągła integracja oznacza, że kod dodawany jest do repozytorium w sposób ciągły, co umożliwia częste testowanie jego poprawności oraz integrację z pozostałymi fragmentami systemu. Natomiast ciągłe wdrażanie zapewnia automatyzację procesu dostarczania aplikacji na serwery produkcyjne bez konieczności udziału programistów w każdym etapie. Dzięki CI/CD zmniejsza się ryzyko popełnienia błędów oraz umożliwia szybsze dostarczanie nowych funkcji.
Przykładem narzędzia wspomagającego CI/CD jest Jenkins, które umożliwia automatyzację procesu budowania, testowania i dostarczania aplikacji. Inne popularne narzędzia to GitLab CI, CircleCI czy Travis CI.
CI/CD stało się nieodłącznym elementem praktyk DevOps, które zakładają ściślejszą współpracę między zespołami programistów i administratorów systemów, aby zapewnić szybsze wytwarzanie, testowanie i dostarczanie oprogramowania. Dzięki CI/CD zespoły są w stanie reagować szybciej na zmieniające się warunki rynkowe oraz potrzeby użytkowników, co przekłada się na lepszą jakość oprogramowania i zwiększenie efektywności pracy.