Zum Inhalt springen

Java

Java CI auf GitHub Actions

Bei jedem Build werden dieselben Maven- oder Gradle-Abhängigkeiten erneut heruntergeladen.

120s → 4s
Abhängigkeitsauflösung
9m → 90er
Inkrementeller Build
91 %
Cache-Trefferquote

Bei jedem Build werden dieselben Maven- oder Gradle-Abhängigkeiten erneut heruntergeladen.

Warum es passiert

~/.m2 und ~/.gradle sind auf einem neuen Läufer leer, und der JVM-Start plus Annotationsverarbeitung verursacht einen festen Overhead pro Modul.

Was zu ändern ist

  1. Cache ~/.m2/repository oder ~/.gradle/caches für die Build-Dateien
  2. Aktivieren Sie den Gradle-Konfigurationscache und den Build-Cache
  3. Halten Sie den Gradle-Daemon innerhalb eines Jobs am Leben, anstatt ihn pro Modul zu forken
  4. Geben Sie der JVM genügend Heap – GC-Thrash sieht genauso aus wie ein langsamer Build

Java 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.