Leitfäden
Wie man mit instabilen CI-Jobs umgeht
Tests schlagen nach dem Zufallsprinzip fehl und die Leute versuchen es erneut, bis sie bestehen.
6 Min. Lesezeit
Tests schlagen nach dem Zufallsprinzip fehl und die Leute versuchen es erneut, bis sie bestehen.
Symptome
- Derselbe Test schlägt bei unverändertem Code fehl
- Wiederholungen sind Routine
- Echte Fehler werden ebenfalls wiederholt
Warum es passiert
Flakes entstehen normalerweise durch den gemeinsamen Zustand, zeitliche Annahmen oder die Abhängigkeit von der Testreihenfolge – und bei einem erneuten Versuch werden alle drei ausgeblendet.
So beheben Sie das Problem
- Verfolgen Sie die Fehlerquote pro Test, um die schlimmsten Übeltäter zu identifizieren
- Unter Quarantäne stellen Sie unregelmäßige Tests in einen nicht blockierenden Job ein, anstatt sie blind erneut zu versuchen
- Beheben Sie die Grundursache: gemeinsam genutzte Geräte, echte Uhren, nicht gesetzte Zufälligkeiten, Portkollisionen
- Führen Sie niemals pauschale Wiederholungstests durch – echte Fehler werden dadurch in zeitweise auftretende Fehler umgewandelt
Ihr nächster Build könnte doppelt so schnell sein — zum halben Preis
Kostenlos starten. Der Wechsel zurück ist dieselbe eine Zeile — auch dieses Diff veröffentlichen wir.
Verwandt
So sammeln Sie LäufermetrikenSie können nicht erkennen, ob ein Job CPU-gebunden, speichergebunden oder festplattengebunden ist.So verfolgen Sie Perzentile für die Build-DauerDie durchschnittliche Bauzeit sieht gut aus, aber die Entwickler beschweren sich immer noch.So exportieren Sie CI-Traces mit OpenTelemetryCI-Timing-Daten befinden sich in einem vom Rest Ihrer Observability getrennten Tool.So fragen Sie CI-Daten programmgesteuert abSie benötigen CI-Daten in einem Dashboard oder einem wöchentlichen Bericht.