diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3fc6df2..dd67c5e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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