Runners
Multi-platform Docker-builds
Bouw linux/amd64- en linux/arm64-images native op hun eigen architectuur en push een enkele manifestlijst.
Specificaties
- Strategie
- Native per-arch, geen QEMU
- Uitvoer
- OCI-manifestlijst
- Versnelling versus QEMU
- 5× – 40×
Runner-labels
runnerhut-docker-builderrunnerhut-docker-builder-arm
Er zijn twee manieren om een afbeelding met meerdere bogen te maken. Men emuleert arm64 op een x64-host met QEMU en is catastrofaal traag voor alles dat compileert. De andere bouwt elke architectuur op zijn eigen hardware en voegt de resultaten samen in een manifestlijst.
yaml
jobs: build: strategy: matrix: include: - platform: linux/amd64 runner: runnerhut-8vcpu-ubuntu-2404 - platform: linux/arm64 runner: runnerhut-8vcpu-ubuntu-2404-arm runs-on: ${{ matrix.runner }} steps: - uses: docker/build-push-action@v6 with: platforms: ${{ matrix.platform }} outputs: type=image,push-by-digest=true merge: needs: build runs-on: runnerhut-2vcpu-ubuntu-2404 steps: - run: docker buildx imagetools create -t ghcr.io/acme/api:latest \ ghcr.io/acme/api@${{ needs.build.outputs.digest }}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
Docker machinespecificaties van de bouwerHardware, koppel tijd en cachegedrag van de persistente BuildKit-instanties waarmee uw taken verbinding maken.Native arm64 GitHub Actions hardlopersNative Arm64-lopers uit de Ampere- en Graviton-klasse. Geen QEMU, geen emulatieboete, 20% goedkoper dan het x64-equivalent.