Docker
GitHub Actions CI aan Docker
Image builds herbouwen elke laag omdat de cache nooit overleeft.
14m → 2m
Beeldopbouw
92%
Laagcachehit
Image builds herbouwen elke laag omdat de cache nooit overleeft.
Waarom het gebeurt
De BuildKit-cache is afwezig of wordt bij elke taak naar een register verzonden.
Wat te veranderen
- Gebruik een externe builder die de laagcache op zijn eigen schijf bewaart
- Bestel het Dockerbestand zodat de installatie van de afhankelijkheid vóór de bronkopie komt
- Gebruik builds in meerdere fasen en kopieer alleen artefacten naar de laatste fase
- Bouw arm64 native in plaats van via QEMU
Docker op runnerhut
yaml
jobs: image: runs-on: runnerhut-8vcpu-ubuntu-2404 steps: - uses: actions/checkout@v4 - uses: runnerhut/setup-buildx@v1 - uses: docker/build-push-action@v6 with: { push: true, tags: ghcr.io/acme/api:latest }De 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.
Gerelateerd
Terraformterraform init downloadt elke provider bij elke run.PulumiDe installatie van plug-ins en afhankelijkheid wordt vóór elke preview uitgevoerd.KubernetesHet opstarten van een soort- of k3s-cluster duurt minuten voordat de tests beginnen.RoerUpdates van diagramafhankelijkheid en linting lopen elke keer vast.