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

<file 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 \

  1. -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

</code>

Configure gitlab-runner

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

gitlab-ci-multiplatform.1610089043.txt.gz · Last modified: 2021/01/08 07:57 by baumi

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki