DevOps z GitOps – przegląd metodologii, narzędzia GitOps oraz porównanie z alternatywami
Kilka uwag o GitOps
GitOps to nowoczesne podejście do zarządzania infrastrukturą i wdrożeniami aplikacji, wykorzystujące Git jako jedyne źródło prawdy. Wykorzystuje możliwości kontroli wersji Git do automatyzacji i usprawnienia procesu wdrażania oraz zarządzania aplikacjami i infrastrukturą, szczególnie w środowiskach natywnych dla chmury.

W istocie GitOps traktuje zdefiniowany w Git żądaną stan systemu jako źródło autorytetu, a narzędzia automatyczne zapewniają, że rzeczywisty stan systemu jest zgodny z tym żądanym stanem.
Poniżej znajduje się wyjaśnienie, czym jest, jak działa, typowe przepływy pracy oraz ich alternatywy.
W przypadku powiązanych przepływów pracy CI/CD, zobacz Składanie z GitHub Actions – Standardowa struktura i lista najprzydatniejszych akcji, aby uzyskać praktyczne wzorce automatyzacji.
W celu uzyskania szerszego przeglądu narzędzi dla deweloperów i przepływów pracy, odwołaj się do Narzędzia dla deweloperów: Kompletny przewodnik po nowoczesnych przepływach pracy
Czym jest GitOps?
GitOps to metodologia wykorzystująca repozytoria Git do definiowania i zarządzania konfiguracją infrastruktury oraz aplikacji. Wszystkie zmiany są wprowadzane poprzez commity i pull requesty w Git, które następnie są automatycznie stosowane do infrastruktury przez agenty automatyzacji (takie jak Argo CD lub Flux).
Podstawowe zasady:
- Git jako jedynym źródłem prawdy
- Automatyczne wdrożenie poprzez ciągłe dostarczanie (CD)
- Pojedynczość: Zapewnienie zgodności stanu rzeczywistego z żądanym stanem
- Zmiany podlegające audytowi i kontrolowane wersjami
Jak używać GitOps
-
Zdefiniuj konfiguracje:
- Użyj YAML lub JSON do zdefiniowania infrastruktury (np. manifesty Kubernetes, pliki Terraform).
-
Przechowuj w Git:
- Wyślij pliki konfiguracyjne do repozytorium Git.
-
Zautomatyzuj wdrożenie:
- Użyj narzędzia GitOps, takiego jak Argo CD lub Flux, do monitorowania repozytorium i stosowania zmian do środowiska.
-
Wprowadzaj zmiany poprzez Pull Requesty:
- Każda aktualizacja jest wprowadzana poprzez pull request. Po scaleniu, agent GitOps automatycznie stosuje zmiany.
Typowe przepływy pracy GitOps
-
Wdrożenie aplikacji:
- Deweloperzy aktualizują konfigurację aplikacji (np. wersję obrazu) → PR → Scalenie → Narzędzie GitOps wdraża aktualizację.
-
Zarządzanie infrastrukturą:
- DevOps modyfikuje kod infrastruktury → PR → Scalenie → Infrastruktura aktualizowana za pomocą narzędzi takich jak Terraform lub Crossplane.
-
Cofnięcie zmian (Rollback):
- Cofnij commit w Git → Narzędzie GitOps automatycznie cofa się do poprzedniego stanu.
-
Wykrywanie rozbieżności (Drift Detection):
- Jeśli stan żywy różni się od stanu w Git, narzędzia GitOps ostrzegają lub automatycznie przywracają zgodność.
Popularne narzędzia GitOps
| Narzędzie | Opis |
|---|---|
| Argo CD | Narzędzie ciągłego dostarczania GitOps natywne dla Kubernetes. |
| Flux | Lekki i rozszerzalny zestaw narzędzi GitOps. |
| Jenkins X | Platforma CI/CD z wbudowaną obsługą GitOps. |
| Weave GitOps | GitOps dla przedsiębiorstw z funkcjami polityki i bezpieczeństwa. |
Argo CD
Argo CD jest deklaratywnym narzędziem ciągłego dostarczania (CD) opartym na GitOps dla Kubernetes. Automatyzuje wdrażanie aplikacji poprzez synchronizację repozytoriów Git z klastrami Kubernetes, zapewniając spójność między środowiskami. Kluczowe cechy obejmują:
- Natywne dla Kubernetes: Zaprojektowane dla Kubernetes, z głęboką integracją do zarządzania konfiguracjami deklaratywnymi.
- Przepływy pracy deklaratywne: Wykorzystuje Git jako jedynym źródłem prawdy dla definicji aplikacji, konfiguracji i środowisk.
- Przyjazny interfejs użytkownika: Oferuje interfejs webowy do monitoringu w czasie rzeczywistym, zarządzania aplikacjami i wizualizacji statusu wdrożeń.
Argo CD działa jako kontroler, który nieustannie przywraca zgodność stanu faktycznego aplikacji ze stanem żądanym zdefiniowanym w repozytoriach Git.
Kluczowe funkcje Argo CD jako narzędzia GitOps Argo CD oferuje solidny zestaw funkcji dostosowanych do przepływów pracy GitOps:
| Funkcja | Opis |
|---|---|
| Obsługa wieloklastrowa | Zarządza wdrożeniami w wielu klastrach Kubernetes z centralną kontrolą. |
| RBAC i wielodostępność | Szczegółowa kontrola dostępu poprzez role, projekty i uprawnienia. |
| CLI i interfejs webowy | CLI do automatyzacji i integracji CI/CD; interfejs webowy do monitoringu w czasie rzeczywistym. |
| Obsługa Helm i Kustomize | Stosuje wykresy Helm i konfiguracje Kustomize poprzez przepływy pracy deklaratywne. |
| Obserwowalność | Metryki, alerty i powiadomienia poprzez Prometheus, Grafana i Slack. |
| Cofanie i synchronizacja | Umożliwia cofnięcie do dowolnego stanu commitowanego w Git i automatyczną przywracalność. |
Jak Argo CD wdraża zasady GitOps Argo CD jest zgodny z zasadami GitOps poprzez następujące mechanizmy:
- Git jako jedyne źródło prawdy: Aplikacje, konfiguracje i środowiska są zdefiniowane w repozytoriach Git.
- Automatyczna przywracalność: Kontroler Aplikacji nieustannie porównuje rzeczywisty stan zasobów Kubernetes ze stanem żądanym w Git, automatycznie rozwiązując rozbieżności.
- Konfiguracja deklaratywna: Wykorzystuje CRD Kubernetes (np.
Application,AppProject) do definiowania celów wdrożenia i polityk synchronizacji. - Synchronizacja typu Pull: Zmiany są pobierane z repozytoriów Git, aby dostosować wdrożone środowiska do żądanych stanów.
Takie podejście zapewnia możliwość audytu, śledzenie i spójność między środowiskami.
Przypadki użycia i zastosowania Argo CD w praktyce Argo CD jest szeroko stosowane w środowiskach produkcyjnych do:
- Wdrożeń Kubernetes: Synchronizuje stan klastra z repozytoriami Git dla bezproblemowych aktualizacji.
- Integracji CI/CD: Działa z potokami CI (np. GitHub Actions, Jenkins) do automatyzacji wdrożeń i cofania zmian.
- Bezpieczeństwa: Integracja z narzędziami takimi jak Sealed Secrets i SOPS do zarządzania zaszyfrowanymi sekretami.
Metody instalacji:
- Kubectl: Lekkie setup dla podstawowych przypadków użycia.
- Helm: Polecane dla środowisk produkcyjnych, oferujące szczegółową kontrolę i konfiguracje HA.
Kroki konfiguracji:
- Stwórz przestrzeń nazw (
argocd) i zastosuj manifesty poprzezkubectl. - Udostępnij interfejs użytkownika Argo CD używając
kubectl port-forward. - Zarejestruj repozytoria Git i zdefiniuj CRD
Applicationokreślające źródło (repozytorium Git) i cel (klaster/przestrzeń nazw Kubernetes).
Narzędzia do integracji:
- Kustomize: Do konfiguracji specyficznych dla środowisk (np. dev/staging/prod).
- Helm: Do zarządzania pakietami i parametryzowanych wdrożeń.
Najlepsze praktyki przy używaniu Argo CD w przepływach pracy GitOps
- Odrębne repozytoria konfiguracyjne: Przechowuj manifesty Kubernetes w osobnym repozytorium Git niż kod źródłowy aplikacji.
- Używaj ApplicationSets: Automatyzuj wdrożenia parametrizowanych aplikacji w klastrach/środowiskach.
- Zabezpieczaj sekrety: Unikaj sekretów w postaci zwykłego tekstu; użyj Sealed Secrets lub External Secrets Operator.
- Monitoruj i audytuj: Śledź status synchronizacji, różnice i rozbieżności używając wbudowanego monitoringu Argo CD i historii Git.
- Włącz samoleczenie: Skonfiguruj
prune=trueiselfHeal=truedo automatycznej korekty rozbieżności.
Przyszłe trendy i ewolucja Argo CD w ekosystemie GitOps
- Rozszerzona obsługa wielochmurowa: Rozszerzenie funkcjonalności wieloklastrowych i wielochmurowych dla środowisk hybrydowych.
- Ciąśniejsza integracja z narzędziami IaC: Głęboka integracja z platformami infrastruktury jako kod (IaC), takimi jak Terraform i Pulumi.
- Rozszerzone możliwości CI/CD: Ciasne powiązanie z narzędziami CI (np. GitHub Actions) dla przepływów pracy od końca do końca.
- Ulepszona obserwowalność: Rozszerzone metryki, alerty i integracja z platformami obserwowalności takimi jak Grafana i Prometheus.
Flux V2 dla GitOps
Flux to otwartoźródłowe narzędzie z gradientem CNCF zaprojektowane do automatyzacji opartej na GitOps w środowiskach Kubernetes. Rozwinęte przez Weaveworks, umożliwia zespołom synchronizację klastrów Kubernetes z repozytoriami Git, zapewniając, że stany infrastruktury i aplikacji są zawsze zgodne z definicjami kontrolowanymi wersjami.
Kluczowe aspekty Flux obejmują:
- Operator GitOps: Flux działa jako kontroler Kubernetes, nieustannie monitorujący repozytoria Git i stosujący zmiany do klastrów.
- Lekki i rozszerzalny: Modułowy projekt pozwala na dostosowanie (np. włączanie/wyłączanie kontrolerów takich jak Source, Kustomize lub Helm).
- Przepływ pracy centrowany na CLI: Flux priorytetyzuje interfejsy wiersza polecenia (CLI) do skryptowania i automatyzacji, choć dostępne są interfejsy GUI od stron trzecich (np. Weave GitOps).
Flux jest szeroko stosowany w środowiskach natywnych dla chmury ze względu na automatyzację, bezpieczeństwo i skalowalność.
3. Kluczowe funkcje Flux jako narzędzia GitOps
Flux oferuje zestaw funkcji zgodnych z zasadami GitOps:
-
Konfiguracja napędzana przez Git:
- Przechowuje manifesty Kubernetes, wykresy Helm i nakładki Kustomize w repozytoriach Git.
- Przykład: Typowe repozytorium konfiguracyjne Flux zawiera katalogi dla
namespaces.yaml,deployments.yamli konfiguracji specyficznych dla środowisk.
-
Zarządzanie zasobami Kubernetes:
- Nieustannie monitoruje repozytoria Git i stosuje zmiany do klastrów poprzez pętle przywracalności.
- Obsługuje Helm, Kustomize i rejestr OCI do zarządzania definicjami aplikacji i infrastruktury.
-
Automatyczne aktualizacje obrazów:
- Wykrywa nowe wersje obrazów kontenerów w rejestrach (np. Docker Hub, Azure Container Registry) i aktualizuje manifesty w Git.
-
Bezpieczeństwo i zgodność:
- Używa polityk RBAC dla szczegółowej kontroli dostępu.
- Integracja z narzędziami zarządzania sekretami (np. SOPS, Sealed Secrets) do szyfrowania danych wrażliwych (np. tokeny API).
-
Dostarczanie postępowe:
- Działa z Flagger do wdrażania wdrożeń kanary, testów A/B i wdrożeń niebiesko-zielonych.
-
Obsługa wieloklastrowa:
- Zarządza wieloma klastrami Kubernetes poprzez repozytoria Git, umożliwiając spójne wdrożenia między środowiskami.
4. Jak Flux jest zgodny z zasadami GitOps
Flux w pełni przyjmuje zasady GitOps poprzez swoją architekturę i przepływy pracy:
- Stan deklaratywny: Wszystkie zasoby Kubernetes są zdefiniowane w Git, zapewniając śledzenie i kontrolę wersji.
- Ciągła przywracalność: Flux automatycznie synchronizuje klastry z repozytoriami Git, eliminując ręczne polecenia
kubectl apply. - Kontrola wersji: Zmiany są wprowadzane poprzez pull requesty, umożliwiając współpracę, przeglądy i zatwierdzenia.
- Automatyzacja: Flux zmniejsza obciążenie operacyjne, automatyzując potoki wdrożeń od commitów kodu do aktualizacji klastrów.
Model Pull Flux (w przeciwieństwie do push-based CI/CD) zwiększa bezpieczeństwo, minimalizując narażenie na interwencje ręczne.
Przypadki użycia Flux w scenariuszach z życia
Flux jest idealny dla następujących przypadków użycia:
- Automatyczne wdrożenia Kubernetes:
- Synchronizuje stany klastrów z repozytoriami Git, zapewniając spójność między środowiskami dev, staging i produkcyjnymi.
- Dostarczanie postępowe:
- Umożliwia wdrożenia kanary z Flagger dla kontrolowanych wdrożeń.
- Zarządzanie wieloklastrowe:
- Wdraża aplikacje w wielu klastrach Kubernetes (np. AKS, EKS, Azure Arc).
- Integracja CI/CD:
- Działa z GitHub Actions, Jenkins i GitLab CI/CD do automatyzacji potoków testowania, budowania i wdrażania.
- Infrastruktura jako kod (IaC):
- Zarządza infrastrukturą poprzez Terraform lub Helm, zgodnie z zasadami GitOps.
Przykład: Firma FinTech używa Flux do automatyzacji wdrożeń produkcyjnych, zapewniając ślad audytowy i szybkie cofanie zmian.
Instalacja:
- CLI: Zainstaluj poprzez
brew install fluxctllub pobierz bezpośrednio. - Helm:
helm repo add fluxcd https://charts.fluxcd.io helm upgrade -i flux fluxcd/flux \ --set git.url=git@github.com:your-username/your-repo \ --namespace flux
Integracja z potokami CI/CD i infrastrukturą
Flux integruje się bezproblemowo z narzędziami CI/CD:
- GitHub Actions: Wywołuje synchronizację Flux przy zdarzeniach push do Git (zobacz przykład kodu).
- Jenkins: Automatyzuje potoki testowania, budowania i wdrażania.
- GitLab CI/CD: Używa
.gitlab-ci.ymldo wywoływania synchronizacji Flux.
Integracja infrastruktury:
- Terraform: Zarządza infrastrukturą jako kod (IaC) poprzez Flux.
- Prometheus: Monitoruje wdrożenia Flux z metrykami i alertami.
- Open Policy Agent (OPA): Wymusza politykę jako kod dla zasobów Kubernetes.
Wyzwania i ograniczenia przy używaniu Flux
- Skomplikowane bezpieczeństwo: Zarządzanie sekretami w Git wymaga narzędzi takich jak SOPS lub Sealed Secrets.
- Nadmiar audytu: Wymaga ścisłego wymuszania podpisywania commitów Git i zakazania force-pushów.
- Promowanie wersji: Konfiguracje specyficzne dla środowisk (np. dev vs. produkcja) wymagają starannych procesów przeglądu.
- Dojrzałość narzędzi: UI Flux jest mniej dojrzały niż Argo CD, wymagając polegania na narzędziach stron trzecich do monitoringu.
Najlepsze praktyki przy wdrażaniu Flux
- Unikaj tagów
:latest: Użyj wersjonowania semantycznego dla obrazów kontenerów. - Strukturyzuj repozytoria Git logicznie: Użyj katalogów takich jak
/apps,/clustersi/environments. - Monitoruj status przywracalności: Użyj
flux get alli alertów dla informacji zwrotnej w czasie rzeczywistym. - Włącz RBAC: Wdroż szczegółową kontrolę dostępu dla zasobów Flux i Kubernetes.
- Zintegruj z zarządzaniem sekretami: Użyj SOPS lub HashiCorp Vault dla zaszyfrowanych sekretów.
Kluczowe wnioski:
- Mocne strony: Automatyzacja, przepływy pracy deklaratywne i integracja z potokami CI/CD.
- Słabe strony: Skomplikowane bezpieczeństwo, nadmiar audytu i ograniczony UI.
- Najlepsze dla: Zespołów priorytetyzujących automatyzację napędzaną przez CLI, Helm/Kustomize i zarządzanie wieloklastrowe.
Flux jest zgodny z przyszłością GitOps, gdzie zarządzanie infrastrukturą i aplikacjami jest w pełni zautomatyzowane, bezpieczne i skalowalne. Jego ciągła ewolucja w ramach CNCF zapewnia jego znaczenie w ekosystemie DevOps.
GitOps z Jenkins X
Jenkins X to platforma CI/CD natywna dla chmury, oparta na open-source, zaprojektowana do automatyzacji wdrażania aplikacji na Kubernetes. Zgodna z zasadami GitOps, które kładą nacisk na używanie repozytoriów Git jako jedynego źródła prawdy dla konfiguracji infrastruktury i aplikacji. Integracja z Kubernetes pozwala zespołom zarządzać potokami CI/CD, wdrożeniami i promocjami środowisk poprzez przepływy pracy oparte na Git. To podejście zapewnia kontrolę wersji, możliwość audytu i współpracę, czyniąc go solidnym narzędziem dla nowoczesnych praktyk DevOps.
Jenkins X: Kluczowe funkcje i architektura Jenkins X jest zbudowany na Kubernetes i integruje się z Tekton, Helm i FluxCD, aby zapewnić kompleksowe rozwiązanie CI/CD. Kluczowe funkcje obejmują:
- Przepływ pracy GitOps: Używa repozytoriów Git do zarządzania potokami, infrastrukturą i wdrożeniami.
- Promocja środowisk: Automatyzuje wdrożenia między środowiskami (dev, staging, produkcja) poprzez zdefiniowane strategie.
- Pipeline-as-Code: Konfiguruje potoki CI/CD używając plików YAML (np.
jenkins-x.yml) dla powtarzalności. - Obserwowalność: Integruje Prometheus i Grafana do monitoringu i logowania w czasie rzeczywistym.
Architektura obejmuje:
- CLI Jenkins X: Do tworzenia klastrów (
jx create cluster) i konfiguracji projektów (jx create quickstart). - Repozytorium GitOps: Przechowuje definicje potoków, wykresy Helm i manifesty Kubernetes.
- Integracja z Kubernetes: Wdraża aplikacje używając wykresów Helm i zarządza środowiskami poprzez FluxCD.
Przykład:
pipelineConfig:
pipelines:
release:
pipeline:
stages:
- name: Deploy
steps:
- script: kubectl apply -f kubernetes-manifests/
Jenkins X to kompleksowe narzędzie GitOps, które usprawnia przepływy pracy CI/CD natywne dla chmury na Kubernetes. Zgodność z zasadami GitOps zapewnia możliwość audytu, automatyzację i współpracę, czyniąc go idealnym dla organizacji adoptujących DevOps i mikrousługi. Jednak jego opiniowane przepływy pracy mogą wymagać dostosowania dla zaawansowanych przypadków użycia. W miarę ewolucji GitOps, Jenkins X jest dobrze pozycjonowany, aby zintegrować się z pojawiającymi się narzędziami (np. Kustomize, Lens) i skalować do środowisk przedsiębiorstw, utwierdzając swoją rolę w nowoczesnych praktykach DevOps.
Końcowe spostrzeżenie: Jenkins X mostkuje lukę między tradycyjnym CI/CD a GitOps, oferując spójne rozwiązanie dla zespołów poszukujących automatyzacji, obserwowalności i współpracy w przepływach pracy opartych na Kubernetes.
Weave GitOps
Weave GitOps to narzędzie open-source natywne dla chmury, rozwijane przez Weaveworks, zaprojektowane do automatyzacji wdrażania i zarządzania aplikacjami na Kubernetes. Narzędzie upraszcza ciągłe dostarczanie (CD) poprzez dostosowanie środowisk produkcyjnych do stanów żądanych zdefiniowanych w Git, zapewniając spójność i zmniejszając interwencje ręczne. Weave GitOps integruje się bezproblemowo z Kubernetes, potokami CI/CD i narzędziami infrastruktury jako kod (IaC), czyniąc go popularnym wyborem dla zespołów adoptujących praktyki GitOps.
Architektura i składniki narzędzia Weave GitOps jest zbudowane jako narzędzie natywne dla Kubernetes, wykorzystujące kontrolery Kubernetes i zasoby niestandardowe (CRD) do automatyzacji GitOps. Kluczowe składniki obejmują:
- Operator GitOps: Operator Kubernetes, który monitoruje repozytoria Git pod kątem zmian i stosuje aktualizacje do klastra.
- Silnik przywracalności: Porównuje rzeczywisty stan klastra ze stanami żądanymi w Git, wyzwalając aktualizacje do ich dostosowania.
- UI i CLI: Oferuje dashboard oparty na sieci do wizualizacji wdrożeń oraz CLI (
gitops) do zarządzania przepływami pracy. - Warstwa integracji: Połącza się z zewnętrznymi narzędziami takimi jak Flux, Helm, Kustomize i platformy CI/CD dla automatyzacji od końca do końca.
Architektura kładzie nacisk na skalowalność, bezpieczeństwo i rozszerzalność, czyniąc ją odpowiednią zarówno dla małych zespołów, jak i środowisk przedsiębiorstw.
Kluczowe przypadki użycia i scenariusze Weave GitOps jest idealny dla następujących przypadków użycia:
- Ciągłe dostarczanie (CD): Automatyzuje potoki wdrożeń aplikacji, zapewniając szybkie i niezawodne aktualizacje.
- Środowiska wieloklastrowe i wielochmurowe: Zarządza wdrożeniami w hybrydowych i wielochmurowych klastrach Kubernetes.
- Automatyzacja infrastruktury przedsiębiorstw: Wymusza polityki bezpieczeństwa, zgodność i zarządzanie poprzez politykę jako kod.
- Platformy samodosługowe dla deweloperów: Umożliwia deweloperom zarządzanie infrastrukturą i aplikacjami bez konieczności posiadania głębokiej wiedzy o Kubernetes.
- Obserwowalność i rozwiązywanie problemów: Dostarcza wgląd w czasie rzeczywistym do stanów aplikacji i procesów przywracalności.
Instalacja
- Helm: Użyj wykresu Helm Weave GitOps do wdrożenia narzędzia na Kubernetes.
- CLI: Zainstaluj poprzez
curllub Homebrew (brew install weaveworks/tap/gitops). - Bootstrap: Uruchom
gitops bootstrapdo inicjalizacji platformy.
Konfiguracja
- Zdefiniuj manifesty aplikacji, wykresy Helm lub konfiguracje Kustomize w repozytoriach Git.
- Użyj
gitops applydo synchronizacji stanów klastra z Git. - Udostępnij UI poprzez Service Kubernetes i LoadBalancer (np. na AWS EKS).
Wyzwania i ograniczenia
- Krzywa uczenia się: Wymaga znajomości Kubernetes, GitOps i narzędzi IaC.
- Ograniczona customizacja: Mniej modułowy niż Flux, co może być wadą dla zaawansowanych użytkowników.
- Mniejsza społeczność: Posiada mniejszy ekosystem w porównaniu z Argo CD lub Flux.
- Funkcje komercyjne: Funkcje przedsiębiorstw (np. zaawansowane bezpieczeństwo, obsługa wielochmurowa) wymagają licencji płatnych.
Weave GitOps to solidne, gotowe na przedsiębiorstwa narzędzie do automatyzacji wdrożeń Kubernetes poprzez GitOps. Wyróżnia się bezpieczeństwem, zarządzaniem wieloklastrowym i integracją z potokami CI/CD, czyniąc go mocnym wyborem dla organizacji adoptujących GitOps w skali. Mimo konkurencji ze strony Flux i Argo CD, jego kompletny zestaw funkcji, możliwości na poziomie przedsiębiorstw i wsparcie komercyjne pozycjonują go jako wiodące rozwiązanie w ekosystemie GitOps. Zespoły powinny ocenić swoje specyficzne potrzeby i przepływy pracy przy wyborze między Weave GitOps, Flux lub Argo CD.
Alternatywy dla GitOps
| Podejście | Opis |
|---|---|
| Potoki CI/CD | Użyj Jenkins, GitHub Actions lub GitLab CI do budowania/wdrażania przy pushu bez użycia Git jako źródła prawdy. |
| Ręczne operacje (Manual Ops) | Tradycyjne podejście: Inżynierowie operacyjni ręcznie konfigrują lub aktualizują infrastrukturę. |
| Infrastruktura jako kod (IaC) | Użyj narzędzi takich jak Terraform, Pulumi lub Ansible bez konieczności używania przepływów pracy Git. |
| Platforma jako usługa (PaaS) | Abstrahuje złożoność wdrożeń (np. Heroku, Google App Engine). |
Przydatne linki
- https://github.com/argoproj/argo-cd
- https://argo-cd.readthedocs.io/en/stable/
- https://argoproj.github.io/cd/
- https://fluxcd.io/
- https://github.com/fluxcd/flux2
- https://jenkins-x.io/
- https://github.com/weaveworks/weave-gitops
- https://docs.gitops.weaveworks.org/