Java
Java CI op GitHub Actions
Bij elke build worden dezelfde Maven- of Gradle-afhankelijkheden opnieuw gedownload.
120s → 4s
Afhankelijkheid opgelost
9m → jaren 90
Incrementeel bouwen
91%
Cachehitpercentage
Bij elke build worden dezelfde Maven- of Gradle-afhankelijkheden opnieuw gedownload.
Waarom het gebeurt
~/.m2 en ~/.gradle zijn leeg op een nieuwe runner, en het opstarten van JVM plus annotatieverwerking voegen vaste overhead toe per module.
Wat te veranderen
- Cache ~/.m2/repository of ~/.gradle/caches ingetoetst op de build-bestanden
- Schakel de Gradle-configuratiecache en build-cache in
- Houd de Gradle-daemon levend binnen een taak in plaats van te forken per module
- Geef de JVM voldoende hoop - GC-thrash ziet er precies uit als een langzame build
Java op runnerhut
yaml
jobs: build: runs-on: runnerhut-8vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: { java-version: '21', distribution: temurin, cache: gradle } - run: ./gradlew build --build-cache --configuration-cacheDe enige runnerhut-specifieke regel is `runs-on: runnerhut-8vcpu-ubuntu-2404`. Al het andere is standaard GitHub Actions — dezelfde acties, dezelfde geheimen en hetzelfde machtigingsmodel dat u vandaag de dag gebruikt.
Je volgende build kan twee keer zo snel zijn, voor de halve prijs
Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.