introducing buildx to the show

This commit is contained in:
Micha Gläß-Stöcker 2020-08-11 11:30:39 +02:00
parent 5eb17a48f8
commit 7f8ca619ea

View file

@ -1,22 +1,35 @@
image: docker:19.03.1 buildx:
services: image: docker:19.03-git
- docker:19.03.1-dind stage: buildx
variables: variables:
DOCKER_DRIVER: overlay GIT_STRATEGY: none
DOCKER_TLS_CERTDIR: "" artifacts:
stages: paths:
- build - buildx
expire_in: 1 hour
build:
image: docker:19.03.1
stage: build
services: services:
- docker:19.03.1-dind - docker:19.03-dind
script:
- export DOCKER_BUILDKIT=1
- git clone git://github.com/docker/buildx ./docker-buildx
- docker build --platform=local -o . ./docker-buildx
deploy:
image: docker:19.03
stage: deploy
services:
- name: docker:19.03-dind
command: ["--experimental"]
before_script:
- mkdir -p ~/.docker/cli-plugins
- mv buildx ~/.docker/cli-plugins/docker-buildx
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
variables: variables:
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
script: script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker build -t $IMAGE_TAG . - docker buildx create --use --name mybuilder
- docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 --push -t $IMAGE_TAG .
- docker push $IMAGE_TAG - docker push $IMAGE_TAG
- docker build -t $CI_REGISTRY_IMAGE:latest . - docker build -t $CI_REGISTRY_IMAGE:latest .
- docker push $CI_REGISTRY_IMAGE:latest - docker push $CI_REGISTRY_IMAGE:latest