Naar inhoud springen

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

  1. Gebruik een externe builder die de laagcache op zijn eigen schijf bewaart
  2. Bestel het Dockerbestand zodat de installatie van de afhankelijkheid vóór de bronkopie komt
  3. Gebruik builds in meerdere fasen en kopieer alleen artefacten naar de laatste fase
  4. 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 }
Een werkend uitgangspunt

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.