357 Sekunden pro Push, und die Tests waren nicht schuld
Unser Pre-Push-Gate brauchte fast sechs Minuten. Gelesen hat der Container über einen Bind-Mount, und das allein kostete 324 der 357 Sekunden.

Kategorie
Wie Systeme tatsächlich gebaut werden: Architekturentscheide, Datenmodelle, Tests und die Kompromisse dahinter.
6 Beiträge
Unser Pre-Push-Gate brauchte fast sechs Minuten. Gelesen hat der Container über einen Bind-Mount, und das allein kostete 324 der 357 Sekunden.

Eine rote oder langsame Pipeline ist nur ein Symptom. Workbench verbindet verlorene Runner-Zeit, Job-Trends und Pipeline-Wasserfälle zu einer Untersuchung, die bis zum konkreten Merge-Request-Versuch führt.

16’300 CI-Minuten in einer Woche, 18.9 % kompletter Ausschuss und 22 Release-Versuche für eine einzige Anwendung: Warum Releases als Testumgebung missbraucht wurden, wieso Agenten ohne Governance lautlos Standards ignorieren, und wie ein dreistufiger Filter das Problem löst.

Jedes Board scheitert irgendwann daran, dass es zur zweiten Wahrheit wird: es merkt sich, in welcher Spalte eine Karte liegt, und ab da muss dieses Wissen gepflegt werden. Workbench merkt es sich gar nicht: Spalten sind Regeln, die beim Lesen ausgewertet werden.

Wir haben eine mandantenfähige Sicht über mehrere GitLab-Instanzen gebaut, ohne zur zweiten Wahrheit zu werden. Die Regel, die das trägt: die lokale Datenbank ist wegwerfbar, und korrekt macht sie die Reconciliation, nicht die Webhooks.

Ein Security-Review hat darauf hingewiesen, dass unser Secrets-Manager seinen eigenen Administratoren vertraut. Die Antwort war Zero-Knowledge-Ende-zu-Ende-Verschlüsselung, und der ehrliche Teil des Entwurfs ist die Liste der drei Stellen, an denen der Server trotzdem Klartext sieht, und warum wir jede davon akzeptiert haben.
