Version 4 · Migration
CI/CD und GitOps
Build, Test, Image-Erzeugung und Deployment werden getrennt und reproduzierbar. Der Clusterzustand wird deklarativ aus Git gesteuert.
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
| Gate | Prüfpunkt |
|---|---|
| Build | Reproduzierbar, keine lokalen Abhängigkeiten. |
| Test | Unit, Integration, Characterization, Contract Tests. |
| Security | Dependency Scan, Image Scan, Secret Check. |
| Deployment | Reviewbare Manifeständerung statt Konsolen-Klick. |
| Rollback | Vorherige Image-/Manifestversion sauber wiederherstellbar. |