YAML als Vertrag: Releases, die reviewbar sind
Ein Deployment ist kein Ereignis, sondern eine Akte.
Docker war für mich immer Deployment-Software für Container. Im Anwendungsbetrieb ist daraus etwas Größeres geworden: die Datei, die beschreibt, was laufen soll. Eine docker-compose.yml oder ein Helm-Chart ist ein Vertrag — deklarativ, versioniert, reviewbar.
Änderungen als Akte
Kein Deployment von Hand. Eine Änderung beginnt als Merge Request in GitLab, wird gelesen, kommentiert, freigegeben und gemergt. ArgoCD zieht den Commit in die Stage — test zuerst, Produktion später. Jede Änderung hat einen Autor, einen Reviewer, einen Zeitstempel.
- Reproduzierbar — gleicher Commit, gleiches Ergebnis
- Reviewbar — vier Augen vor jeder Stage
- Rollbackbar — alten Commit auswählen, fertig
Beispiel: ArgoCD Application
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: messenger-test
namespace: argocd
spec:
source:
repoURL: https://gitlab.example/messenger/deploy.git
targetRevision: main
path: stages/test
destination:
server: https://openshift.example
namespace: messenger-test
syncPolicy:
automated:
prune: false
selfHeal: true
Was hier steht, ist die Wahrheit über die Stage. Nicht das, was jemand letzte Woche im Terminal getippt hat.