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.1610182175.txt.gz · Last modified: by baumi
