Frühlingsstiefel
Spring Boot CI auf GitHub Actions
Das Laden von Kontexten dominiert die Testsuite und Abhängigkeiten werden von Grund auf aufgelöst.
18 → 2
Kontext wird geladen
13m → 4m
Testsuite
Das Laden von Kontexten dominiert die Testsuite und Abhängigkeiten werden von Grund auf aufgelöst.
Warum es passiert
Jede Testklasse, die die Kontextkonfiguration ändert, erzwingt einen neuen Spring-Kontext und ~/.m2 ist kalt.
Was zu ändern ist
- Cache ~/.m2/repository oder ~/.gradle/caches
- Geben Sie einen Spring-Kontext für alle Testklassen frei, indem Sie die Konfiguration identisch halten
- Verwenden Sie die Wiederverwendung von Testcontainern, damit der Datenbankcontainer nicht pro Klasse neu erstellt wird
- Führen Sie Integrationstests in einem von den Komponententests getrennten Job aus
Spring Boot auf runnerhut
Die einzige runnerhut-spezifische Zeile ist „runs-on: runnerhut-8vcpu-ubuntu-2404“. Alles andere sind Standard-GitHub Actions – dieselben Aktionen, dieselben Geheimnisse und dasselbe Berechtigungsmodell, das Sie heute verwenden.
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
Next.jsBeim nächsten Build wird jede Seite neu kompiliert, auch wenn sich eine Komponente geändert hat.Eckigng build und ng test starten beide bei jedem Lauf mit einem kalten Cache.VueVite erstellt das Abhängigkeits-Vorpaket bei jedem CI-Lauf neu.SchlankSvelteKit-Builds und Playwright-Tests laufen bei jedem Push ab.