47 lines
1.2 KiB
YAML
47 lines
1.2 KiB
YAML
image: jonoh/docker-buildx-qemu
|
|
|
|
variables:
|
|
DOCKER_HOST: tcp://docker:2375/
|
|
PLATFORM: local
|
|
DOCKER_IMAGE_TAG: latest
|
|
DOCKER_PREBUILD_CMD: echo
|
|
|
|
services:
|
|
- docker:dind
|
|
|
|
.docker_before_script: &docker_before_script
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
- docker pull "$CI_REGISTRY_IMAGE" || true
|
|
- '[[ "$PLATFORM" != "local" ]] && update-binfmts --enable'
|
|
# Use docker-container driver to allow useful features (push/multi-platform)
|
|
- docker buildx create --driver docker-container --use
|
|
- docker buildx inspect --bootstrap
|
|
|
|
build:
|
|
stage: build
|
|
before_script: *docker_before_script
|
|
script:
|
|
- $DOCKER_PREBUILD_CMD
|
|
- docker buildx build
|
|
--pull
|
|
--cache-from "$CI_REGISTRY_IMAGE"
|
|
--platform "$PLATFORM"
|
|
-t "$CI_REGISTRY_IMAGE:$DOCKER_IMAGE_TAG"
|
|
--push $EXTRA_BUILD_ARGS .
|
|
only:
|
|
- master
|
|
|
|
build-unstable:
|
|
stage: build
|
|
before_script: *docker_before_script
|
|
script:
|
|
- $DOCKER_PREBUILD_CMD
|
|
- docker buildx build
|
|
--pull
|
|
--cache-from "$CI_REGISTRY_IMAGE"
|
|
--platform "$PLATFORM"
|
|
-t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
|
|
--push $EXTRA_BUILD_ARGS .
|
|
except:
|
|
- master
|