Definicja #
CI/CD to skrót od Continuous Integration (ciągła integracja) i Continuous Delivery/Deployment (ciągłe dostarczanie/wdrażanie) — zestaw praktyk inżynieryjnych z zakresu DevOps.
Continuous Integration (CI) polega na automatycznym scalaniu i weryfikowaniu kodu programistów w centralne repozytorium wiele razy dziennie. Pipeline CI wykonuje:
- Kompilację i budowanie artefaktów
- Uruchomienie testów jednostkowych i integracyjnych
- Analizę statyczną kodu i pokrycie testami
Continuous Delivery (CD) rozszerza CI o automatyczne przygotowanie do wdrożenia — artefakt jest zawsze gotowy do wypuszczenia na produkcję. Continuous Deployment idzie o krok dalej — każda zmiana przechodzą przez pipeline jest automatycznie wdrażana na produkcję bez ręcznego zatwierdzenia.
Popularne narzędzia CI/CD: GitHub Actions, GitLab CI, Jenkins, Azure DevOps Pipelines, CircleCI, TeamCity.
Zastosowania #
CI/CD stosuje się do:
- Automatyzacji procesu budowania i testowania po każdym commicie
- Szybkiego wykrywania regresji — błąd widoczny minuty po wprowadzeniu
- Wdrożeń na środowiska testowe, staging i produkcję bez ręcznych kroków
- Budowania i publikowania artefaktów: pakietów npm, obrazów Docker, plików JAR
- Zarządzania infrastrukturą — pipelines Terraform i Ansible w IaC workflows
Ścieżka nauki #
Przed CI/CD warto znać Git, podstawy testowania i komendy powłoki (bash).
Zacznij od:
- GitHub Actions — najlepsze wejście dla projektów na GitHub (YAML, jobs, steps)
- Podstawowe pipeline: build → test → package
- Secrets i zmienne środowiskowe w pipeline'ach
Następnie poznaj:
- Strategie wdrożeń: blue/green, canary, rolling update
- Artefakty i rejestry: Docker Registry, npm, Maven
- Testy w pipeline: unit, integration, end-to-end (Playwright, Selenium)
- Jenkins i Jenkinsfile (pipeline as code) dla środowisk on-premise
- Azure DevOps Pipelines lub GitLab CI dla środowisk korporacyjnych
FAQ #
- Czym różni się CI od CD?
- CI (Continuous Integration) to automatyczne budowanie i testowanie kodu po każdym mergowaniu. CD to rozszerzenie CI o automatyczne przygotowanie lub wdrożenie na produkcję. Continuous Delivery wymaga ręcznego zatwierdzenia ostatniego kroku, Continuous Deployment wdraża automatycznie.
- Ile zarabia DevOps engineer znający CI/CD?
- DevOps Engineer z doświadczeniem w CI/CD, Docker i Kubernetes zarabia w Polsce od 15 000 do 30 000 zł brutto. CI/CD jest umiejętnością wymaganą w każdej ofercie pracy dla DevOpsa.
- Jakie narzędzie CI/CD wybrać?
- GitHub Actions jest najlepszym wyborem dla projektów hostowanych na GitHub — jest darmowy dla repozytoriów publicznych i dobrze zintegrowany. Jenkins to popularny wybór on-premise. GitLab CI jest natywnie zintegrowany z GitLab. Azure DevOps dominuje w środowiskach Microsoft.
- Jak długo uczyć się CI/CD?
- Podstawowe pipeline'y w GitHub Actions lub GitLab CI można zbudować w kilka dni. Zaawansowane praktyki (strategie wdrożeń, bezpieczeństwo, optymalizacja) wymagają kilku miesięcy praktyki na prawdziwych projektach.