Version 4 · Migration

CI/CD und GitOps

Build, Test, Image-Erzeugung und Deployment werden getrennt und reproduzierbar. Der Clusterzustand wird deklarativ aus Git gesteuert.

Migration-ÜbersichtStartseite
CI/CD und GitOps
Build, Test, Image-Erzeugung und Deployment werden getrennt und reproduzierbar. Der Clusterzustand wird deklarativ aus Git gesteuert.
Zielbild

Früher wurde oft ein EAR manuell in einer Konsole deployt. Im Zielbild erzeugt die Pipeline ein geprüftes Artefakt und ein Image. Die Umgebung wird über deklarative Manifeste beschrieben. GitOps sorgt dafür, dass der gewünschte Zustand wiederholt und nachvollziehbar hergestellt wird.

Pipeline-Beispiel
Tekton-artige Pipeline: Test vor Image
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: build-billing-modern-api
spec:
  tasks:
    - name: test
      taskRef:
        name: maven
      params:
        - name: GOALS
          value: ["clean", "verify"]
    - name: build-image
      runAfter: ["test"]
      taskRef:
        name: buildah
      params:
        - name: IMAGE
          value: image-registry.openshift-image-registry.svc:5000/legacy-v4/billing-modern-api:$(params.git-revision)
GitOps Application Beispiel
Argo CD / OpenShift GitOps Application
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: billing-modern-api
spec:
  project: legacy-modernization
  source:
    repoURL: https://git.example.local/legacy-modernization.git
    targetRevision: main
    path: openshift/overlays/test
  destination:
    server: https://kubernetes.default.svc
    namespace: legacy-v4
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
Qualitätsgates
GatePrüfpunkt
BuildReproduzierbar, keine lokalen Abhängigkeiten.
TestUnit, Integration, Characterization, Contract Tests.
SecurityDependency Scan, Image Scan, Secret Check.
DeploymentReviewbare Manifeständerung statt Konsolen-Klick.
RollbackVorherige Image-/Manifestversion sauber wiederherstellbar.
⌂ Cockpit