Add support for multi-arch Docker containers
This commit is contained in:
parent
d614cbefe1
commit
f412d31d1c
1 changed files with 24 additions and 7 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue