Add support for multi-arch Docker containers

This commit is contained in:
Marty Oehme 2021-05-19 15:40:11 +02:00
parent d614cbefe1
commit f412d31d1c
Signed by: Marty
GPG Key ID: B7538B8F50A1C800
1 changed files with 24 additions and 7 deletions

View File

@ -1,17 +1,34 @@
image: docker:latest
# Docker Hub version e.g. here https://github.com/oofnikj/nuttssh/blob/master/.gitlab-ci.yml
image: oofnik/docker:buildx
variables:
DOCKER_DRIVER: overlay2
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
PLATFORM: linux/amd64,linux/arm/v7
CI_IMAGE: $CI_REGISTRY_IMAGE
services:
- docker:dind
build:
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- docker buildx create --use
build-master:
stage: build
retry: 2
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build -t $IMAGE_TAG .
- docker push $IMAGE_TAG
- docker buildx build --push -t "$CI_IMAGE"
--platform "$PLATFORM" --cache-from "$CI_IMAGE"
--build-arg BUILDKIT_INLINE_CACHE=1 .
only:
- master
build-feature:
stage: build
retry: 2
script:
- docker buildx build --push -t "$CI_IMAGE:$CI_COMMIT_REF_SLUG"
--platform "$PLATFORM" --cache-from "$CI_IMAGE:$CI_COMMIT_REF_SLUG"
--build-arg BUILDKIT_INLINE_CACHE=1 .
except:
- master