User Tools

Site Tools


gitlab-ci-multiplatform

This is an old revision of the document!


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 image to use

Dockerfile
ARG BUILDX_VERSION=0.4.2
ARG DOCKER_VERSION=latest
 
FROM alpine AS fetcher
 
RUN apk add curl
 
ARG BUILDX_VERSION
RUN curl -L \
  --output /docker-buildx \
  "https://github.com/docker/buildx/releases/download/v${BUILDX_VERSION}/buildx-v${BUILDX_VERSION}.linux-amd64"
 
RUN chmod a+x /docker-buildx
 
ARG DOCKER_VERSION
FROM docker:${DOCKER_VERSION}
 
COPY --from=fetcher /docker-buildx /usr/lib/docker/cli-plugins/docker-buildx

Configure gitlab-runner

Utilize own buildx image and switch to buildx in .gitlab-ci.yml

gitlab-ci-multiplatform.1610089482.txt.gz · Last modified: 2021/01/08 08:04 by baumi

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki