Loading .gitlab-ci.yml +19 −11 Original line number Diff line number Diff line # https://levelup.gitconnected.com/build-multi-arch-docker-images-ef8b3c859a1e # https://gist.github.com/kris-g/6bfd5f1d813a8f2276b5759f9a8d65ee # https://gruuuuu.github.io/cloud/1multiarch-docker/ # https://aymdev.io/en/blog/post/using-cache-in-gitlab-ci-with-docker-in-docker image: docker:stable variables: Loading @@ -12,17 +15,22 @@ build: stage: build tags: - amd64 script: - wget -O /usr/bin/docker-buildx https://github.com/docker/buildx/releases/download/${BUILDX_VERSION}/buildx-${BUILDX_VERSION}.${BUILDX_ARCH} - chmod +x /usr/bin/docker-buildx - docker-buildx create --use - docker-buildx version - docker info before_script: - mkdir -p $HOME/.docker/cli-plugins/ - wget -O $HOME/.docker/cli-plugins/docker-buildx https://github.com/docker/buildx/releases/download/${BUILDX_VERSION}/buildx-${BUILDX_VERSION}.${BUILDX_ARCH} - chmod +x $HOME/.docker/cli-plugins/docker-buildx - docker run --privileged --rm tonistiigi/binfmt --install all - docker buildx create --use # For debuging # - docker buildx inspect --bootstrap ${BUILDX_BUILDER} # - docker buildx ls - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker-buildx build --platform linux/arm/v7,linux/arm64/v8,linux/amd64 script: # For caching pre-pulled image - docker pull $CI_REGISTRY_IMAGE:latest || true - docker buildx build --cache-from ${CI_REGISTRY_IMAGE}:latest --platform linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,linux/s390x,linux/386 -t ${CI_REGISTRY_IMAGE}:latest -f ./Dockerfile --push . - docker push $CI_REGISTRY_IMAGE:latest Loading
.gitlab-ci.yml +19 −11 Original line number Diff line number Diff line # https://levelup.gitconnected.com/build-multi-arch-docker-images-ef8b3c859a1e # https://gist.github.com/kris-g/6bfd5f1d813a8f2276b5759f9a8d65ee # https://gruuuuu.github.io/cloud/1multiarch-docker/ # https://aymdev.io/en/blog/post/using-cache-in-gitlab-ci-with-docker-in-docker image: docker:stable variables: Loading @@ -12,17 +15,22 @@ build: stage: build tags: - amd64 script: - wget -O /usr/bin/docker-buildx https://github.com/docker/buildx/releases/download/${BUILDX_VERSION}/buildx-${BUILDX_VERSION}.${BUILDX_ARCH} - chmod +x /usr/bin/docker-buildx - docker-buildx create --use - docker-buildx version - docker info before_script: - mkdir -p $HOME/.docker/cli-plugins/ - wget -O $HOME/.docker/cli-plugins/docker-buildx https://github.com/docker/buildx/releases/download/${BUILDX_VERSION}/buildx-${BUILDX_VERSION}.${BUILDX_ARCH} - chmod +x $HOME/.docker/cli-plugins/docker-buildx - docker run --privileged --rm tonistiigi/binfmt --install all - docker buildx create --use # For debuging # - docker buildx inspect --bootstrap ${BUILDX_BUILDER} # - docker buildx ls - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker-buildx build --platform linux/arm/v7,linux/arm64/v8,linux/amd64 script: # For caching pre-pulled image - docker pull $CI_REGISTRY_IMAGE:latest || true - docker buildx build --cache-from ${CI_REGISTRY_IMAGE}:latest --platform linux/arm/v7,linux/arm64/v8,linux/amd64,linux/ppc64le,linux/s390x,linux/386 -t ${CI_REGISTRY_IMAGE}:latest -f ./Dockerfile --push . - docker push $CI_REGISTRY_IMAGE:latest