ciągłe dostarczanie
Ciągłe Dostarczanie (CD) to praktyka tworzenia oprogramowania, w której zmiany kodu są automatycznie budowane, testowane i przygotowywane do wydania na produkcję.
Ciągłe Dostarczanie (CD) to praktyka inżynierii oprogramowania i zbiór zasad skupiających się na automatyzacji procesu wydawania oprogramowania. Rozwija ona ideę Ciągłej Integracji (CI), zapewniając, że każda zmiana kodu, która przejdzie zautomatyzowane testy, jest automatycznie przygotowywana do wydania na produkcję. Celem jest posiadanie oprogramowania gotowego do wdrożenia w dowolnym momencie. W typowym potoku CD, kod jest zatwierdzany w systemie kontroli wersji, co inicjuje automatyczne budowanie i kompleksowy zestaw testów (jednostkowych, integracyjnych, end-to-end). Jeśli wszystkie testy przejdą pomyślnie, artefakt (np. obraz kontenera, plik wykonywalny) jest automatycznie wdrażany do środowiska stagingowego lub przedprodukcyjnego. Od tego momentu zazwyczaj wymagana jest ręczna akceptacja lub decyzja biznesowa przed ostatecznym wdrożeniem na środowisko produkcyjne. Ta praktyka znacząco zmniejsza ryzyko związane z wydawaniem oprogramowania, ponieważ każda zmiana jest mała, dobrze przetestowana i gotowa do wdrożenia. Pozwala organizacjom na szybsze wydawanie funkcji, szybkie reagowanie na zmiany rynkowe oraz poprawę ogólnej jakości i niezawodności oprogramowania poprzez uczynienie procesu wydawniczego rutynowym i przewidywalnym.
graph LR
Center["ciągłe dostarczanie"]:::main
Pre_logic["logic"]:::pre --> Center
click Pre_logic "/terms/logic"
Rel_cicd["cicd"]:::related -.-> Center
click Rel_cicd "/terms/cicd"
Rel_cicd_pipeline["cicd-pipeline"]:::related -.-> Center
click Rel_cicd_pipeline "/terms/cicd-pipeline"
Rel_continuous_integration["continuous-integration"]:::related -.-> Center
click Rel_continuous_integration "/terms/continuous-integration"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Sprawdzenie wiedzy
🧒 Wyjaśnij jak 5-latkowi
To tak, jakbyś zawsze miał swoje zadanie domowe schludnie poukładane i gotowe do oddania, czekające tylko na sygnał od nauczyciela, żeby je wręczyć.
🤓 Expert Deep Dive
Ciągłe Dostarczanie stanowi przedostatni etap dojrzałego potoku DevOps, łącząc Ciągłą Integrację z Ciągłym Wdrażaniem. Podczas gdy CI skupia się na częstej integracji kodu i weryfikacji jego poprawności za pomocą zautomatyzowanych buildów i testów, CD rozszerza to, zapewniając, że zintegrowany kod jest zawsze w stanie gotowym do wydania. Potok zazwyczaj obejmuje tworzenie artefaktów, automatyczne wdrażanie do różnych środowisk nieprodukcyjnych (np. QA, UAT, Staging) oraz testy wydajnościowe/bezpieczeństwa. Kluczową różnicą w stosunku do Ciągłego Wdrażania jest celowe wprowadzenie ręcznej bramki przed wydaniem produkcyjnym, co pozwala na walidację biznesową, koordynację testów A/B lub strategie wydań kanarkowych. Architektonicznie, CD opiera się w dużej mierze na solidnych narzędziach CI/CD (np. Jenkins, GitLab CI, GitHub Actions), infrastrukturze jako kodzie (IaC) i zasadach niezmiennej infrastruktury. Kompromisy obejmują potencjalnie wolniejszą kadencję wydań w porównaniu do pełnego Ciągłego Wdrażania, ale oferuje większą kontrolę i mitygację ryzyka dla organizacji ze złożonymi wymaganiami dotyczącymi wydań lub ograniczeniami regulacyjnymi.