-
Andri Joos authored38df0ee1
images.gitlab-ci.yml 1.31 KiB
stages:
- build
variables:
IMAGE_SERVER: registry.420joos.dev
DOCKER_BUILDX_IMAGE: registry.420joos.dev/docker-buildx:1.1
DOCKER_BUILDX_CONTEXT_NAME: autobuilder
DOCKER_BUILDX_PLATFORMS: linux/amd64,linux/arm64
DOCKER_BUILDX_CREATE_CMD: docker buildx create --name $DOCKER_BUILDX_CONTEXT_NAME --platform $DOCKER_BUILDX_PLATFORMS --driver docker-container --bootstrap # --config testbuilder.toml only needed when using http image registry
DOCKER_BUILDX_DELETE_CMD: docker buildx rm $DOCKER_BUILDX_CONTEXT_NAME
DOCKER_PREPARE_CMD: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
DOCKER_LOGIN_CMD: docker login $IMAGE_SERVER --username $DOCKER_USERNAME --password $DOCKER_PASSWORD
DOCKER_LOGOUT_CMD: docker logout $IMAGE_SERVER
# Required vars:
## IMAGE_PATH
## IMAGE_NAME
# Optional vars:
.build_image_job_template:
stage: build
tags:
- docker
retry: 2
image: $DOCKER_BUILDX_IMAGE
allow_failure: false
variables:
IMAGE_PATH: "./"
script:
- $DOCKER_LOGIN_CMD
- $DOCKER_PREPARE_CMD
- $DOCKER_BUILDX_CREATE_CMD
- docker buildx build $IMAGE_PATH $(echo $IMAGE_NAME | awk -F',' '{for (i=1; i<=NF; i++) printf "--tag %s ", $i}') --platform $DOCKER_BUILDX_PLATFORMS --builder $DOCKER_BUILDX_CONTEXT_NAME --push"
- $DOCKER_BUILDX_DELETE_CMD
- $DOCKER_LOGOUT_CMD