gitlab-ci-multiplatform
This is an old revision of the document!
Table of Contents
Gitlab CI MultiPlatform Build
Enable Emulators
# docker run -it --rm --privileged tonistiigi/binfmt --install all { "supported": [ "linux/amd64", "linux/arm64", "linux/riscv64", "linux/ppc64le", "linux/s390x", "linux/386", "linux/arm/v7", "linux/arm/v6" ], "emulators": [ "qemu-aarch64", "qemu-arm", "qemu-ppc64le", "qemu-riscv64", "qemu-s390x" ] }
Create buildx enabled docker image for builds
Build image
# docker build --pull -t registry/docker-with-buildx . # docker push registry/docker-with-buildx
Switch to buildx in .gitlab-ci.yml
Define CI_PLATFORMS variable in Settings / CI/CD:
CI_PLATFORMS = linux/amd64,linux/arm/v7,…
- .gitlab-ci.yml
image: registry/docker-with-buildx services: - docker:dind build: stage: build script: - docker login -u $CI_USER -p $CI_TOKEN $CI_REGISTRY - docker buildx create --use - docker buildx build --platform $CI_PLATFORMS --push --pull -t $CI_REGISTRY_IMAGE .
gitlab-ci-multiplatform.1610182161.txt.gz · Last modified: 2021/01/09 09:49 by baumi